94 lines
4.1 KiB
C#
94 lines
4.1 KiB
C#
using BackOffice.BFF.Application.NetworkMembershipCQ.Queries.GetNetworkTree;
|
|
using BackOffice.BFF.Application.NetworkMembershipCQ.Queries.GetUserNetworkInfo;
|
|
using BackOffice.BFF.Application.NetworkMembershipCQ.Queries.GetNetworkHistory;
|
|
using Foursat.BackOffice.BFF.NetworkMembership.Protos;
|
|
|
|
namespace BackOffice.BFF.WebApi.Common.Mappings;
|
|
|
|
public class NetworkMembershipProfile : IRegister
|
|
{
|
|
void IRegister.Register(TypeAdapterConfig config)
|
|
{
|
|
// GetNetworkTreeResponseDto -> GetNetworkTreeResponse
|
|
config.NewConfig<GetNetworkTreeResponseDto, GetNetworkTreeResponse>()
|
|
.MapWith(src => new GetNetworkTreeResponse
|
|
{
|
|
Nodes = { src.Nodes.Select(n => new NetworkTreeNodeModel
|
|
{
|
|
UserId = n.UserId,
|
|
UserName = n.UserName,
|
|
ParentId = n.ParentId,
|
|
NetworkLeg = n.NetworkLeg,
|
|
NetworkLevel = n.NetworkLevel,
|
|
IsActive = n.IsActive,
|
|
JoinedAt = n.JoinedAt.HasValue
|
|
? Timestamp.FromDateTime(DateTime.SpecifyKind(n.JoinedAt.Value, DateTimeKind.Utc))
|
|
: null
|
|
}) }
|
|
});
|
|
|
|
// NetworkTreeNodeDto -> NetworkTreeNodeModel
|
|
config.NewConfig<NetworkTreeNodeDto, NetworkTreeNodeModel>()
|
|
.MapWith(src => new NetworkTreeNodeModel
|
|
{
|
|
UserId = src.UserId,
|
|
UserName = src.UserName,
|
|
ParentId = src.ParentId,
|
|
NetworkLeg = src.NetworkLeg,
|
|
NetworkLevel = src.NetworkLevel,
|
|
IsActive = src.IsActive,
|
|
JoinedAt = src.JoinedAt.HasValue
|
|
? Timestamp.FromDateTime(DateTime.SpecifyKind(src.JoinedAt.Value, DateTimeKind.Utc))
|
|
: null
|
|
});
|
|
|
|
// GetUserNetworkInfoResponseDto -> GetUserNetworkResponse
|
|
config.NewConfig<GetUserNetworkInfoResponseDto, GetUserNetworkResponse>()
|
|
.MapWith(src => new GetUserNetworkResponse
|
|
{
|
|
Id = src.Id,
|
|
UserId = src.UserId,
|
|
UserName = src.UserName,
|
|
ParentId = src.ParentId,
|
|
ParentName = src.ParentName,
|
|
NetworkLeg = src.NetworkLeg,
|
|
LeftChildId = src.LeftChildId,
|
|
LeftChildName = src.LeftChildName,
|
|
RightChildId = src.RightChildId,
|
|
RightChildName = src.RightChildName,
|
|
NetworkLevel = src.NetworkLevel,
|
|
ReferralCode = src.ReferralCode,
|
|
JoinedAt = Timestamp.FromDateTime(DateTime.SpecifyKind(src.JoinedAt, DateTimeKind.Utc)),
|
|
Created = Timestamp.FromDateTime(DateTime.SpecifyKind(src.CreatedAt, DateTimeKind.Utc))
|
|
});
|
|
|
|
// GetNetworkHistoryResponseDto -> GetNetworkMembershipHistoryResponse
|
|
config.NewConfig<GetNetworkHistoryResponseDto, GetNetworkMembershipHistoryResponse>()
|
|
.MapWith(src => new GetNetworkMembershipHistoryResponse
|
|
{
|
|
MetaData = new BackOffice.BFF.Protobuf.Common.MetaData
|
|
{
|
|
CurrentPage = src.PageNumber,
|
|
PageSize = src.PageSize,
|
|
TotalCount = src.TotalCount,
|
|
TotalPage = (int)Math.Ceiling((double)src.TotalCount / src.PageSize)
|
|
},
|
|
Models = { src.History.Select(h => new NetworkMembershipHistoryModel
|
|
{
|
|
Id = h.Id,
|
|
UserId = h.UserId,
|
|
OldParentId = h.OldParentId,
|
|
NewParentId = h.NewParentId,
|
|
OldNetworkLeg = h.OldNetworkLeg,
|
|
NewNetworkLeg = h.NewNetworkLeg,
|
|
OldNetworkLevel = h.OldNetworkLevel,
|
|
NewNetworkLevel = h.NewNetworkLevel,
|
|
Action = h.Action,
|
|
PerformedBy = h.PerformedBy,
|
|
Reason = h.Reason,
|
|
Created = Timestamp.FromDateTime(DateTime.SpecifyKind(h.CreatedAt, DateTimeKind.Utc))
|
|
}) }
|
|
});
|
|
}
|
|
}
|