diff --git a/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipCycleHistoryProfile.cs b/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipCycleHistoryProfile.cs index 7a0433a..8f6b32d 100644 --- a/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipCycleHistoryProfile.cs +++ b/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipCycleHistoryProfile.cs @@ -1,9 +1,8 @@ -using CMSMicroservice.Application.ClubMembershipCycleHistoryCQ.Queries.GetAllClubMembershipCycleHistoryByFilter; -using CMSMicroservice.Protobuf.Protos.ClubMembershipCycleHistory; using Google.Protobuf.WellKnownTypes; +using CMSMicroservice.Domain.Enums; using Mapster; -using AppFilter = CMSMicroservice.Application.ClubMembershipCycleHistoryCQ.Queries.GetAllClubMembershipCycleHistoryByFilter.GetAllClubMembershipCycleHistoryByFilterFilter; -using ProtoFilter = CMSMicroservice.Protobuf.Protos.ClubMembershipCycleHistory.GetAllClubMembershipCycleHistoryByFilterFilter; +using AppHistory = CMSMicroservice.Application.ClubMembershipCycleHistoryCQ.Queries.GetAllClubMembershipCycleHistoryByFilter; +using ProtoHistory = CMSMicroservice.Protobuf.Protos.ClubMembershipCycleHistory; namespace CMSMicroservice.WebApi.Common.Mappings; @@ -11,73 +10,38 @@ public class ClubMembershipCycleHistoryProfile : IRegister { public void Register(TypeAdapterConfig config) { - config.NewConfig() - .MapWith(src => new GetAllClubMembershipCycleHistoryByFilterQuery - { - PaginationState = MapPagination(src.PaginationState), - SortBy = src.HasSortBy ? src.SortBy : null, - Filter = MapFilter(src.Filter) - }); + config.NewConfig() + .Map(dest => dest.PaginationState, src => src.PaginationState) + .Map(dest => dest.SortBy, src => src.SortBy) + .Map(dest => dest.Filter, src => src.Filter); - config.NewConfig() - .MapWith(src => new GetAllClubMembershipCycleHistoryByFilterResponse - { - MetaData = MapMeta(src.MetaData), - Models = { src.Models?.Select(MapModel) ?? [] } - }); + config.NewConfig() + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.ClubMembershipCycleId, src => src.ClubMembershipCycleId) + .Map(dest => dest.CycleNumber, src => src.CycleNumber) + .Map(dest => dest.Action, src => src.Action == null ? null : (ClubMembershipCycleAction?)src.Action) + .Map(dest => dest.CreatedFrom, src => src.CreatedFrom != null ? src.CreatedFrom.ToDateTime() : (DateTime?)null) + .Map(dest => dest.CreatedTo, src => src.CreatedTo != null ? src.CreatedTo.ToDateTime() : (DateTime?)null); + + config.NewConfig() + .Map(dest => dest.MetaData, src => src.MetaData) + .Map(dest => dest.Models, src => src.Models); + + config.NewConfig() + .Map(dest => dest.Id, src => src.Id) + .Map(dest => dest.ClubMembershipCycleId, src => src.ClubMembershipCycleId) + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.UserName, src => src.UserName) + .Map(dest => dest.CycleNumber, src => src.CycleNumber) + .Map(dest => dest.OldIsCurrentCycle, src => src.OldIsCurrentCycle) + .Map(dest => dest.NewIsCurrentCycle, src => src.NewIsCurrentCycle) + .Map(dest => dest.OldMagicStartedAt, src => src.OldMagicStartedAt) + .Map(dest => dest.NewMagicStartedAt, src => src.NewMagicStartedAt) + .Map(dest => dest.OldMagicCompletedAt, src => src.OldMagicCompletedAt) + .Map(dest => dest.NewMagicCompletedAt, src => src.NewMagicCompletedAt) + .Map(dest => dest.Action, src => (int)src.Action) + .Map(dest => dest.PerformedBy, src => src.PerformedBy ?? string.Empty) + .Map(dest => dest.Reason, src => src.Reason ?? string.Empty) + .Map(dest => dest.CreatedAt, src => Timestamp.FromDateTimeOffset(src.Created)); } - - private static AppFilter? MapFilter(ProtoFilter? src) - { - if (src == null) return null; - return new AppFilter - { - UserId = src.HasUserId ? src.UserId : null, - ClubMembershipCycleId = src.HasClubMembershipCycleId ? src.ClubMembershipCycleId : null, - CycleNumber = src.HasCycleNumber ? src.CycleNumber : null, - Action = src.HasAction ? (Domain.Enums.ClubMembershipCycleAction)src.Action : null, - CreatedFrom = src.CreatedFrom?.ToDateTime(), - CreatedTo = src.CreatedTo?.ToDateTime() - }; - } - - private static ClubMembershipCycleHistoryModel MapModel(GetAllClubMembershipCycleHistoryByFilterResponseModel m) => - new() - { - Id = m.Id, - ClubMembershipCycleId = m.ClubMembershipCycleId, - UserId = m.UserId, - UserName = m.UserName, - CycleNumber = m.CycleNumber, - OldIsCurrentCycle = m.OldIsCurrentCycle, - NewIsCurrentCycle = m.NewIsCurrentCycle, - OldMagicStartedAt = m.OldMagicStartedAt.HasValue - ? Timestamp.FromDateTime(DateTime.SpecifyKind(m.OldMagicStartedAt.Value, DateTimeKind.Utc)) : null, - NewMagicStartedAt = m.NewMagicStartedAt.HasValue - ? Timestamp.FromDateTime(DateTime.SpecifyKind(m.NewMagicStartedAt.Value, DateTimeKind.Utc)) : null, - OldMagicCompletedAt = m.OldMagicCompletedAt.HasValue - ? Timestamp.FromDateTime(DateTime.SpecifyKind(m.OldMagicCompletedAt.Value, DateTimeKind.Utc)) : null, - NewMagicCompletedAt = m.NewMagicCompletedAt.HasValue - ? Timestamp.FromDateTime(DateTime.SpecifyKind(m.NewMagicCompletedAt.Value, DateTimeKind.Utc)) : null, - Action = (int)m.Action, - PerformedBy = m.PerformedBy ?? string.Empty, - Reason = m.Reason ?? string.Empty, - CreatedAt = Timestamp.FromDateTimeOffset(m.Created) - }; - - private static Application.Common.Models.PaginationState? MapPagination(CMSMicroservice.Protobuf.Protos.PaginationState? ps) => - ps == null ? null : new Application.Common.Models.PaginationState - { - PageNumber = ps.PageNumber > 0 ? ps.PageNumber : 1, - PageSize = ps.PageSize > 0 ? ps.PageSize : 20 - }; - - private static CMSMicroservice.Protobuf.Protos.MetaData MapMeta(Application.Common.Models.MetaData meta) => - new() - { - CurrentPage = meta.CurrentPage, - PageSize = meta.PageSize, - TotalCount = meta.TotalCount, - TotalPage = meta.TotalPage - }; } diff --git a/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipCycleProfile.cs b/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipCycleProfile.cs index c866541..0d0fb48 100644 --- a/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipCycleProfile.cs +++ b/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipCycleProfile.cs @@ -1,10 +1,9 @@ -using CMSMicroservice.Application.ClubMembershipCycleCQ.Queries.GetAllClubMembershipCycleByFilter; -using CMSMicroservice.Application.ClubMembershipCycleCQ.Queries.GetClubMembershipCycleSummary; -using CMSMicroservice.Protobuf.Protos.ClubMembershipCycle; using Google.Protobuf.WellKnownTypes; +using CMSMicroservice.Domain.Enums; using Mapster; -using AppFilter = CMSMicroservice.Application.ClubMembershipCycleCQ.Queries.GetAllClubMembershipCycleByFilter.GetAllClubMembershipCycleByFilterFilter; -using ProtoFilter = CMSMicroservice.Protobuf.Protos.ClubMembershipCycle.GetAllClubMembershipCycleByFilterFilter; +using AppCycle = CMSMicroservice.Application.ClubMembershipCycleCQ.Queries.GetAllClubMembershipCycleByFilter; +using AppCycleSummary = CMSMicroservice.Application.ClubMembershipCycleCQ.Queries.GetClubMembershipCycleSummary; +using ProtoCycle = CMSMicroservice.Protobuf.Protos.ClubMembershipCycle; namespace CMSMicroservice.WebApi.Common.Mappings; @@ -12,83 +11,47 @@ public class ClubMembershipCycleProfile : IRegister { public void Register(TypeAdapterConfig config) { - config.NewConfig() - .MapWith(src => new GetAllClubMembershipCycleByFilterQuery - { - PaginationState = MapPagination(src.PaginationState), - SortBy = src.HasSortBy ? src.SortBy : null, - Filter = MapFilter(src.Filter) - }); + config.NewConfig() + .Map(dest => dest.PaginationState, src => src.PaginationState) + .Map(dest => dest.SortBy, src => src.SortBy) + .Map(dest => dest.Filter, src => src.Filter); - config.NewConfig() - .MapWith(src => new GetAllClubMembershipCycleByFilterResponse - { - MetaData = MapMeta(src.MetaData), - Models = { src.Models?.Select(MapModel) ?? [] } - }); + config.NewConfig() + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.IsCurrentCycle, src => src.IsCurrentCycle) + .Map(dest => dest.PackageId, src => src.PackageId) + .Map(dest => dest.CycleNumber, src => src.CycleNumber) + .Map(dest => dest.PurchaseMethod, src => src.PurchaseMethod == null ? null : (PackagePurchaseMethod?)src.PurchaseMethod) + .Map(dest => dest.MagicState, src => src.MagicState) + .Map(dest => dest.PackagePurchasedFrom, src => src.PackagePurchasedFrom != null ? src.PackagePurchasedFrom.ToDateTime() : (DateTime?)null) + .Map(dest => dest.PackagePurchasedTo, src => src.PackagePurchasedTo != null ? src.PackagePurchasedTo.ToDateTime() : (DateTime?)null); - config.NewConfig() - .MapWith(src => new GetClubMembershipCycleSummaryQuery { Filter = MapFilter(src.Filter) }); + config.NewConfig() + .Map(dest => dest.MetaData, src => src.MetaData) + .Map(dest => dest.Models, src => src.Models); - config.NewConfig() - .MapWith(src => new GetClubMembershipCycleSummaryResponse - { - TotalCount = src.TotalCount, - CurrentCycleCount = src.CurrentCycleCount, - MagicActiveCount = src.MagicActiveCount - }); + config.NewConfig() + .Map(dest => dest.Id, src => src.Id) + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.UserName, src => src.UserName) + .Map(dest => dest.ClubMembershipId, src => src.ClubMembershipId) + .Map(dest => dest.CycleNumber, src => src.CycleNumber) + .Map(dest => dest.PackageId, src => src.PackageId) + .Map(dest => dest.PackageName, src => src.PackageName) + .Map(dest => dest.PackageAmount, src => src.PackageAmount) + .Map(dest => dest.PurchaseMethod, src => (int)src.PurchaseMethod) + .Map(dest => dest.PackagePurchasedAt, src => Timestamp.FromDateTime(DateTime.SpecifyKind(src.PackagePurchasedAt, DateTimeKind.Utc))) + .Map(dest => dest.MagicStartedAt, src => src.MagicStartedAt) + .Map(dest => dest.MagicCompletedAt, src => src.MagicCompletedAt) + .Map(dest => dest.IsCurrentCycle, src => src.IsCurrentCycle) + .Map(dest => dest.CreatedAt, src => Timestamp.FromDateTimeOffset(src.Created)); + + config.NewConfig() + .Map(dest => dest.Filter, src => src.Filter); + + config.NewConfig() + .Map(dest => dest.TotalCount, src => src.TotalCount) + .Map(dest => dest.CurrentCycleCount, src => src.CurrentCycleCount) + .Map(dest => dest.MagicActiveCount, src => src.MagicActiveCount); } - - private static AppFilter? MapFilter(ProtoFilter? src) - { - if (src == null) return null; - return new AppFilter - { - UserId = src.HasUserId ? src.UserId : null, - IsCurrentCycle = src.HasIsCurrentCycle ? src.IsCurrentCycle : null, - PackageId = src.HasPackageId ? src.PackageId : null, - CycleNumber = src.HasCycleNumber ? src.CycleNumber : null, - PurchaseMethod = src.HasPurchaseMethod ? (Domain.Enums.PackagePurchaseMethod)src.PurchaseMethod : null, - MagicState = src.HasMagicState ? src.MagicState : null, - PackagePurchasedFrom = src.PackagePurchasedFrom?.ToDateTime(), - PackagePurchasedTo = src.PackagePurchasedTo?.ToDateTime() - }; - } - - private static ClubMembershipCycleModel MapModel(GetAllClubMembershipCycleByFilterResponseModel m) => - new() - { - Id = m.Id, - UserId = m.UserId, - UserName = m.UserName, - ClubMembershipId = m.ClubMembershipId, - CycleNumber = m.CycleNumber, - PackageId = m.PackageId, - PackageName = m.PackageName, - PackageAmount = m.PackageAmount, - PurchaseMethod = (int)m.PurchaseMethod, - PackagePurchasedAt = Timestamp.FromDateTime(DateTime.SpecifyKind(m.PackagePurchasedAt, DateTimeKind.Utc)), - MagicStartedAt = m.MagicStartedAt.HasValue - ? Timestamp.FromDateTime(DateTime.SpecifyKind(m.MagicStartedAt.Value, DateTimeKind.Utc)) : null, - MagicCompletedAt = m.MagicCompletedAt.HasValue - ? Timestamp.FromDateTime(DateTime.SpecifyKind(m.MagicCompletedAt.Value, DateTimeKind.Utc)) : null, - IsCurrentCycle = m.IsCurrentCycle, - CreatedAt = Timestamp.FromDateTimeOffset(m.Created) - }; - - private static Application.Common.Models.PaginationState? MapPagination(CMSMicroservice.Protobuf.Protos.PaginationState? ps) => - ps == null ? null : new Application.Common.Models.PaginationState - { - PageNumber = ps.PageNumber > 0 ? ps.PageNumber : 1, - PageSize = ps.PageSize > 0 ? ps.PageSize : 20 - }; - - private static CMSMicroservice.Protobuf.Protos.MetaData MapMeta(Application.Common.Models.MetaData meta) => - new() - { - CurrentPage = meta.CurrentPage, - PageSize = meta.PageSize, - TotalCount = meta.TotalCount, - TotalPage = meta.TotalPage - }; } diff --git a/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipProfile.cs b/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipProfile.cs index f7ba6d5..3d99bd2 100644 --- a/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipProfile.cs +++ b/src/CMSMicroservice.WebApi/Common/Mappings/ClubMembershipProfile.cs @@ -1,9 +1,9 @@ using CMSMicroservice.Application.ClubMembershipCQ.Queries.GetAllClubMemberships; using CMSMicroservice.Application.ClubMembershipCQ.Queries.GetClubMembership; -using CMSMicroservice.Application.ClubMembershipCQ.Queries.GetClubMembershipHistory; using CMSMicroservice.Application.ClubMembershipCQ.Queries.GetClubStatistics; -using AppHistoryFilter = CMSMicroservice.Application.ClubMembershipCQ.Queries.GetClubMembershipHistory.GetClubMembershipHistoryFilter; -using CMSMicroservice.Protobuf.Protos.ClubMembership; +using CMSMicroservice.Domain.Enums; +using AppHistory = CMSMicroservice.Application.ClubMembershipCQ.Queries.GetClubMembershipHistory; +using ProtoClub = CMSMicroservice.Protobuf.Protos.ClubMembership; using Google.Protobuf.WellKnownTypes; using Mapster; using System.Linq; @@ -19,15 +19,15 @@ public class ClubMembershipProfile : IRegister // ===================== // GetClubMembershipRequest -> GetClubMembershipQuery - config.NewConfig() + config.NewConfig() .MapWith(src => new GetClubMembershipQuery { UserId = src.UserId }); // ClubMembershipDto -> GetClubMembershipResponse - config.NewConfig() - .MapWith(src => new GetClubMembershipResponse + config.NewConfig() + .MapWith(src => new ProtoClub.GetClubMembershipResponse { Id = src.Id, UserId = src.UserId, @@ -50,7 +50,7 @@ public class ClubMembershipProfile : IRegister // ===================== // GetAllClubMembershipsRequest -> GetAllClubMembershipsQuery - config.NewConfig() + config.NewConfig() .MapWith(src => new GetAllClubMembershipsQuery { PaginationState = new Application.Common.Models.PaginationState @@ -66,8 +66,8 @@ public class ClubMembershipProfile : IRegister }); // GetAllClubMembershipsResponseDto -> GetAllClubMembershipsResponse - config.NewConfig() - .MapWith(src => new GetAllClubMembershipsResponse + config.NewConfig() + .MapWith(src => new ProtoClub.GetAllClubMembershipsResponse { MetaData = new CMSMicroservice.Protobuf.Protos.MetaData { @@ -84,12 +84,12 @@ public class ClubMembershipProfile : IRegister // ===================== // GetClubStatisticsRequest -> GetClubStatisticsQuery - config.NewConfig() + config.NewConfig() .MapWith(src => new GetClubStatisticsQuery()); // GetClubStatisticsResponseDto -> GetClubStatisticsResponse - config.NewConfig() - .MapWith(src => new GetClubStatisticsResponse + config.NewConfig() + .MapWith(src => new ProtoClub.GetClubStatisticsResponse { TotalMembers = src.TotalMembers, ActiveMembers = src.ActiveMembers, @@ -99,14 +99,14 @@ public class ClubMembershipProfile : IRegister TotalRevenue = src.TotalRevenue, AverageMembershipDurationDays = src.AverageMembershipDurationDays, ExpiringSoonCount = src.ExpiringSoonCount, - PackageDistribution = { src.PackageDistribution.Select(p => new PackageLevelDistribution + PackageDistribution = { src.PackageDistribution.Select(p => new ProtoClub.PackageLevelDistribution { PackageId = p.PackageId, PackageName = p.PackageName ?? string.Empty, MemberCount = p.MemberCount, Percentage = p.Percentage }) }, - MonthlyTrend = { src.MonthlyTrend.Select(t => new MonthlyMembershipTrend + MonthlyTrend = { src.MonthlyTrend.Select(t => new ProtoClub.MonthlyMembershipTrend { Month = t.Month ?? string.Empty, Activations = t.Activations, @@ -116,58 +116,40 @@ public class ClubMembershipProfile : IRegister }); // GetClubMembershipHistory - config.NewConfig() - .MapWith(src => new GetClubMembershipHistoryQuery - { - PaginationState = src.PaginationState != null - ? new Application.Common.Models.PaginationState - { - PageNumber = src.PaginationState.PageNumber > 0 ? src.PaginationState.PageNumber : 1, - PageSize = src.PaginationState.PageSize > 0 ? src.PaginationState.PageSize : 20 - } - : null, - SortBy = src.HasSortBy ? src.SortBy : null, - Filter = src.Filter != null ? new AppHistoryFilter - { - UserId = src.Filter.HasUserId ? src.Filter.UserId : null, - ClubMembershipId = src.Filter.HasClubMembershipId ? src.Filter.ClubMembershipId : null, - Action = src.Filter.HasAction ? (Domain.Enums.ClubMembershipAction)src.Filter.Action : null, - CreatedFrom = src.Filter.CreatedFrom?.ToDateTime(), - CreatedTo = src.Filter.CreatedTo?.ToDateTime() - } : null - }); + config.NewConfig() + .Map(dest => dest.PaginationState, src => src.PaginationState) + .Map(dest => dest.SortBy, src => src.SortBy) + .Map(dest => dest.Filter, src => src.Filter); - config.NewConfig() - .MapWith(src => new GetClubMembershipHistoryResponse - { - MetaData = new CMSMicroservice.Protobuf.Protos.MetaData - { - CurrentPage = src.MetaData.CurrentPage, - PageSize = src.MetaData.PageSize, - TotalCount = src.MetaData.TotalCount, - TotalPage = src.MetaData.TotalPage - }, - Models = { src.Models.Select(m => new ClubMembershipHistoryModel - { - Id = m.Id, - ClubMembershipId = m.ClubMembershipId, - UserId = m.UserId, - UserName = m.UserName ?? string.Empty, - OldIsActive = m.OldIsActive, - NewIsActive = m.NewIsActive, - OldInitialContribution = m.OldInitialContribution, - NewInitialContribution = m.NewInitialContribution, - Action = (int)m.Action, - PerformedBy = m.PerformedBy ?? string.Empty, - Reason = m.Reason ?? string.Empty, - CreatedAt = Timestamp.FromDateTimeOffset(m.Created) - }) } - }); + config.NewConfig() + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.ClubMembershipId, src => src.ClubMembershipId) + .Map(dest => dest.Action, src => src.Action == null ? null : (ClubMembershipAction?)src.Action) + .Map(dest => dest.CreatedFrom, src => src.CreatedFrom != null ? src.CreatedFrom.ToDateTime() : (DateTime?)null) + .Map(dest => dest.CreatedTo, src => src.CreatedTo != null ? src.CreatedTo.ToDateTime() : (DateTime?)null); + + config.NewConfig() + .Map(dest => dest.MetaData, src => src.MetaData) + .Map(dest => dest.Models, src => src.Models); + + config.NewConfig() + .Map(dest => dest.Id, src => src.Id) + .Map(dest => dest.ClubMembershipId, src => src.ClubMembershipId) + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.UserName, src => src.UserName ?? string.Empty) + .Map(dest => dest.OldIsActive, src => src.OldIsActive) + .Map(dest => dest.NewIsActive, src => src.NewIsActive) + .Map(dest => dest.OldInitialContribution, src => src.OldInitialContribution) + .Map(dest => dest.NewInitialContribution, src => src.NewInitialContribution) + .Map(dest => dest.Action, src => (int)src.Action) + .Map(dest => dest.PerformedBy, src => src.PerformedBy ?? string.Empty) + .Map(dest => dest.Reason, src => src.Reason ?? string.Empty) + .Map(dest => dest.CreatedAt, src => Timestamp.FromDateTimeOffset(src.Created)); } - private static ClubMembershipModel MapToModel(GetAllClubMembershipsResponseModel src) + private static ProtoClub.ClubMembershipModel MapToModel(GetAllClubMembershipsResponseModel src) { - return new ClubMembershipModel + return new ProtoClub.ClubMembershipModel { Id = src.Id, UserId = src.UserId, diff --git a/src/CMSMicroservice.WebApi/Common/Mappings/PaymentTransactionProfile.cs b/src/CMSMicroservice.WebApi/Common/Mappings/PaymentTransactionProfile.cs index c7dffd7..00eba3c 100644 --- a/src/CMSMicroservice.WebApi/Common/Mappings/PaymentTransactionProfile.cs +++ b/src/CMSMicroservice.WebApi/Common/Mappings/PaymentTransactionProfile.cs @@ -1,10 +1,9 @@ -using CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetAllPaymentTransactionByFilter; -using CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetPaymentTransactionSummary; -using CMSMicroservice.Protobuf.Protos.PaymentTransaction; using Google.Protobuf.WellKnownTypes; +using CMSMicroservice.Domain.Enums; using Mapster; -using AppFilter = CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetAllPaymentTransactionByFilter.GetAllPaymentTransactionByFilterFilter; -using ProtoFilter = CMSMicroservice.Protobuf.Protos.PaymentTransaction.GetAllPaymentTransactionByFilterFilter; +using AppPt = CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetAllPaymentTransactionByFilter; +using AppPtSummary = CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetPaymentTransactionSummary; +using ProtoPt = CMSMicroservice.Protobuf.Protos.PaymentTransaction; namespace CMSMicroservice.WebApi.Common.Mappings; @@ -12,93 +11,50 @@ public class PaymentTransactionProfile : IRegister { public void Register(TypeAdapterConfig config) { - config.NewConfig() - .MapWith(MapListQuery); + config.NewConfig() + .Map(dest => dest.PaginationState, src => src.PaginationState) + .Map(dest => dest.SortBy, src => src.SortBy) + .Map(dest => dest.Filter, src => src.Filter); - config.NewConfig() - .MapWith(MapListResponse); + config.NewConfig() + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.Mobile, src => src.Mobile) + .Map(dest => dest.GatewayProvider, src => src.GatewayProvider) + .Map(dest => dest.PaymentStatus, src => src.PaymentStatus) + .Map(dest => dest.Authority, src => src.Authority) + .Map(dest => dest.RefId, src => src.RefId) + .Map(dest => dest.OrderId, src => src.OrderId) + .Map(dest => dest.CreatedFrom, src => src.CreatedFrom != null ? src.CreatedFrom.ToDateTime() : (DateTime?)null) + .Map(dest => dest.CreatedTo, src => src.CreatedTo != null ? src.CreatedTo.ToDateTime() : (DateTime?)null); - config.NewConfig() - .MapWith(src => new GetPaymentTransactionSummaryQuery - { - Filter = MapFilter(src.Filter) - }); + config.NewConfig() + .Map(dest => dest.MetaData, src => src.MetaData) + .Map(dest => dest.Models, src => src.Models); - config.NewConfig() - .MapWith(src => new GetPaymentTransactionSummaryResponse - { - TotalCount = src.TotalCount, - TotalAmount = src.TotalAmount, - SuccessfulCount = src.SuccessfulCount, - PendingCount = src.PendingCount - }); + config.NewConfig() + .Map(dest => dest.Id, src => src.Id) + .Map(dest => dest.UserId, src => src.UserId ?? 0) + .Map(dest => dest.Mobile, src => src.Mobile ?? string.Empty) + .Map(dest => dest.GatewayProvider, src => src.GatewayProvider) + .Map(dest => dest.Amount, src => src.Amount) + .Map(dest => dest.Authority, src => src.Authority ?? string.Empty) + .Map(dest => dest.PaymentStatus, src => src.PaymentStatus) + .Map(dest => dest.VerificationStatusCode, src => src.VerificationStatusCode) + .Map(dest => dest.VerificationStatusMessage, src => src.VerificationStatusMessage ?? string.Empty) + .Map(dest => dest.RefId, src => src.RefId ?? string.Empty) + .Map(dest => dest.CardPan, src => src.CardPan ?? string.Empty) + .Map(dest => dest.OrderId, src => src.OrderId ?? string.Empty) + .Map(dest => dest.TransactionId, src => src.TransactionId) + .Map(dest => dest.Description, src => src.Description ?? string.Empty) + .Map(dest => dest.CreatedAt, src => Timestamp.FromDateTimeOffset(src.Created)); + + config.NewConfig() + .Map(dest => dest.Filter, src => src.Filter); + + config.NewConfig() + .Map(dest => dest.TotalCount, src => src.TotalCount) + .Map(dest => dest.TotalAmount, src => src.TotalAmount) + .Map(dest => dest.SuccessfulCount, src => src.SuccessfulCount) + .Map(dest => dest.PendingCount, src => src.PendingCount); } - - private static GetAllPaymentTransactionByFilterQuery MapListQuery(GetAllPaymentTransactionByFilterRequest src) => - new() - { - PaginationState = MapPagination(src.PaginationState), - SortBy = src.HasSortBy ? src.SortBy : null, - Filter = MapFilter(src.Filter) - }; - - private static GetAllPaymentTransactionByFilterResponse MapListResponse(GetAllPaymentTransactionByFilterResponseDto src) => - new() - { - MetaData = MapMeta(src.MetaData), - Models = { src.Models?.Select(MapModel) ?? [] } - }; - - private static AppFilter? MapFilter(ProtoFilter? src) - { - if (src == null) return null; - return new AppFilter - { - UserId = src.HasUserId ? src.UserId : null, - Mobile = src.HasMobile ? src.Mobile : null, - GatewayProvider = src.HasGatewayProvider ? src.GatewayProvider : null, - PaymentStatus = src.HasPaymentStatus ? src.PaymentStatus : null, - Authority = src.HasAuthority ? src.Authority : null, - RefId = src.HasRefId ? src.RefId : null, - OrderId = src.HasOrderId ? src.OrderId : null, - CreatedFrom = src.CreatedFrom?.ToDateTime(), - CreatedTo = src.CreatedTo?.ToDateTime() - }; - } - - private static PaymentTransactionModel MapModel(GetAllPaymentTransactionByFilterResponseModel m) => - new() - { - Id = m.Id, - UserId = m.UserId ?? 0, - Mobile = m.Mobile ?? string.Empty, - GatewayProvider = m.GatewayProvider, - Amount = m.Amount, - Authority = m.Authority ?? string.Empty, - PaymentStatus = m.PaymentStatus, - VerificationStatusCode = m.VerificationStatusCode, - VerificationStatusMessage = m.VerificationStatusMessage ?? string.Empty, - RefId = m.RefId ?? string.Empty, - CardPan = m.CardPan ?? string.Empty, - OrderId = m.OrderId ?? string.Empty, - TransactionId = m.TransactionId, - Description = m.Description ?? string.Empty, - CreatedAt = Timestamp.FromDateTimeOffset(m.Created) - }; - - private static Application.Common.Models.PaginationState? MapPagination(CMSMicroservice.Protobuf.Protos.PaginationState? ps) => - ps == null ? null : new Application.Common.Models.PaginationState - { - PageNumber = ps.PageNumber > 0 ? ps.PageNumber : 1, - PageSize = ps.PageSize > 0 ? ps.PageSize : 20 - }; - - private static CMSMicroservice.Protobuf.Protos.MetaData MapMeta(Application.Common.Models.MetaData meta) => - new() - { - CurrentPage = meta.CurrentPage, - PageSize = meta.PageSize, - TotalCount = meta.TotalCount, - TotalPage = meta.TotalPage - }; } diff --git a/src/CMSMicroservice.WebApi/Common/Mappings/UserPackagePurchaseProfile.cs b/src/CMSMicroservice.WebApi/Common/Mappings/UserPackagePurchaseProfile.cs index 87543be..ba02b15 100644 --- a/src/CMSMicroservice.WebApi/Common/Mappings/UserPackagePurchaseProfile.cs +++ b/src/CMSMicroservice.WebApi/Common/Mappings/UserPackagePurchaseProfile.cs @@ -1,10 +1,9 @@ -using CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetAllUserPackagePurchaseByFilter; -using CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetUserPackagePurchaseSummary; -using CMSMicroservice.Protobuf.Protos.UserPackagePurchase; using Google.Protobuf.WellKnownTypes; +using CMSMicroservice.Domain.Enums; using Mapster; -using AppFilter = CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetAllUserPackagePurchaseByFilter.GetAllUserPackagePurchaseByFilterFilter; -using ProtoFilter = CMSMicroservice.Protobuf.Protos.UserPackagePurchase.GetAllUserPackagePurchaseByFilterFilter; +using AppUp = CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetAllUserPackagePurchaseByFilter; +using AppUpSummary = CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetUserPackagePurchaseSummary; +using ProtoUp = CMSMicroservice.Protobuf.Protos.UserPackagePurchase; namespace CMSMicroservice.WebApi.Common.Mappings; @@ -12,74 +11,43 @@ public class UserPackagePurchaseProfile : IRegister { public void Register(TypeAdapterConfig config) { - config.NewConfig() - .MapWith(src => new GetAllUserPackagePurchaseByFilterQuery - { - PaginationState = MapPagination(src.PaginationState), - SortBy = src.HasSortBy ? src.SortBy : null, - Filter = MapFilter(src.Filter) - }); + config.NewConfig() + .Map(dest => dest.PaginationState, src => src.PaginationState) + .Map(dest => dest.SortBy, src => src.SortBy) + .Map(dest => dest.Filter, src => src.Filter); - config.NewConfig() - .MapWith(src => new GetAllUserPackagePurchaseByFilterResponse - { - MetaData = MapMeta(src.MetaData), - Models = { src.Models?.Select(m => new UserPackagePurchaseModel - { - Id = m.Id, - UserId = m.UserId, - UserName = m.UserName, - UserMobile = m.UserMobile, - PackageId = m.PackageId, - PackageName = m.PackageName, - PurchaseMethod = (int)m.PurchaseMethod, - PurchasedAt = Timestamp.FromDateTime(DateTime.SpecifyKind(m.PurchasedAt, DateTimeKind.Utc)), - Amount = m.Amount, - OrderId = m.OrderId, - TransactionId = m.TransactionId, - CreatedAt = Timestamp.FromDateTimeOffset(m.Created) - }) ?? [] } - }); + config.NewConfig() + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.PackageId, src => src.PackageId) + .Map(dest => dest.PurchaseMethod, src => src.PurchaseMethod == null ? null : (PackagePurchaseMethod?)src.PurchaseMethod) + .Map(dest => dest.PurchasedFrom, src => src.PurchasedFrom != null ? src.PurchasedFrom.ToDateTime() : (DateTime?)null) + .Map(dest => dest.PurchasedTo, src => src.PurchasedTo != null ? src.PurchasedTo.ToDateTime() : (DateTime?)null) + .Map(dest => dest.MinAmount, src => src.MinAmount) + .Map(dest => dest.MaxAmount, src => src.MaxAmount); - config.NewConfig() - .MapWith(src => new GetUserPackagePurchaseSummaryQuery { Filter = MapFilter(src.Filter) }); + config.NewConfig() + .Map(dest => dest.MetaData, src => src.MetaData) + .Map(dest => dest.Models, src => src.Models); - config.NewConfig() - .MapWith(src => new GetUserPackagePurchaseSummaryResponse - { - TotalCount = src.TotalCount, - TotalAmount = src.TotalAmount - }); + config.NewConfig() + .Map(dest => dest.Id, src => src.Id) + .Map(dest => dest.UserId, src => src.UserId) + .Map(dest => dest.UserName, src => src.UserName) + .Map(dest => dest.UserMobile, src => src.UserMobile) + .Map(dest => dest.PackageId, src => src.PackageId) + .Map(dest => dest.PackageName, src => src.PackageName) + .Map(dest => dest.PurchaseMethod, src => (int)src.PurchaseMethod) + .Map(dest => dest.PurchasedAt, src => Timestamp.FromDateTime(DateTime.SpecifyKind(src.PurchasedAt, DateTimeKind.Utc))) + .Map(dest => dest.Amount, src => src.Amount) + .Map(dest => dest.OrderId, src => src.OrderId) + .Map(dest => dest.TransactionId, src => src.TransactionId) + .Map(dest => dest.CreatedAt, src => Timestamp.FromDateTimeOffset(src.Created)); + + config.NewConfig() + .Map(dest => dest.Filter, src => src.Filter); + + config.NewConfig() + .Map(dest => dest.TotalCount, src => src.TotalCount) + .Map(dest => dest.TotalAmount, src => src.TotalAmount); } - - private static AppFilter? MapFilter(ProtoFilter? src) - { - if (src == null) return null; - return new AppFilter - { - UserId = src.HasUserId ? src.UserId : null, - PackageId = src.HasPackageId ? src.PackageId : null, - PurchaseMethod = src.HasPurchaseMethod ? (Domain.Enums.PackagePurchaseMethod)src.PurchaseMethod : null, - PurchasedFrom = src.PurchasedFrom?.ToDateTime(), - PurchasedTo = src.PurchasedTo?.ToDateTime(), - MinAmount = src.HasMinAmount ? src.MinAmount : null, - MaxAmount = src.HasMaxAmount ? src.MaxAmount : null - }; - } - - private static Application.Common.Models.PaginationState? MapPagination(CMSMicroservice.Protobuf.Protos.PaginationState? ps) => - ps == null ? null : new Application.Common.Models.PaginationState - { - PageNumber = ps.PageNumber > 0 ? ps.PageNumber : 1, - PageSize = ps.PageSize > 0 ? ps.PageSize : 20 - }; - - private static CMSMicroservice.Protobuf.Protos.MetaData MapMeta(Application.Common.Models.MetaData meta) => - new() - { - CurrentPage = meta.CurrentPage, - PageSize = meta.PageSize, - TotalCount = meta.TotalCount, - TotalPage = meta.TotalPage - }; }