feat: Implement DiscountProductProfile for mapping Discount Product commands and queries
Build and Deploy / build (push) Successful in 2m50s
Build and Deploy / build (push) Successful in 2m50s
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
using BackOffice.BFF.Application.DiscountProductCQ.Commands.CreateDiscountProduct;
|
||||
using BackOffice.BFF.Application.DiscountProductCQ.Commands.UpdateDiscountProduct;
|
||||
using BackOffice.BFF.Application.DiscountProductCQ.Commands.DeleteDiscountProduct;
|
||||
using BackOffice.BFF.Application.DiscountProductCQ.Queries.GetDiscountProducts;
|
||||
using BackOffice.BFF.Application.DiscountProductCQ.Queries.GetDiscountProductById;
|
||||
using BackOffice.BFF.DiscountProduct.Protobuf.Protos.DiscountProduct;
|
||||
using Mapster;
|
||||
using CreateFileModel = BackOffice.BFF.Application.DiscountProductCQ.Commands.CreateDiscountProduct.DiscountProductFileModel;
|
||||
using UpdateFileModel = BackOffice.BFF.Application.DiscountProductCQ.Commands.UpdateDiscountProduct.DiscountProductFileModel;
|
||||
|
||||
namespace BackOffice.BFF.WebApi.Common.Mappings;
|
||||
|
||||
public class DiscountProductProfile : IRegister
|
||||
{
|
||||
public void Register(TypeAdapterConfig config)
|
||||
{
|
||||
// Request to Query/Command mappings
|
||||
config.NewConfig<GetDiscountProductsRequest, GetDiscountProductsQuery>()
|
||||
.Map(dest => dest.CategoryId, src => src.CategoryId)
|
||||
.Map(dest => dest.SearchQuery, src => src.SearchQuery)
|
||||
.Map(dest => dest.MinPrice, src => src.MinPrice)
|
||||
.Map(dest => dest.MaxPrice, src => src.MaxPrice)
|
||||
.Map(dest => dest.IsActive, src => src.IsActive)
|
||||
.Map(dest => dest.InStock, src => src.InStock)
|
||||
.Map(dest => dest.PageNumber, src => src.PageNumber)
|
||||
.Map(dest => dest.PageSize, src => src.PageSize);
|
||||
|
||||
config.NewConfig<GetDiscountProductByIdRequest, GetDiscountProductByIdQuery>()
|
||||
.Map(dest => dest.ProductId, src => src.ProductId);
|
||||
|
||||
config.NewConfig<CreateDiscountProductRequest, CreateDiscountProductCommand>()
|
||||
.Map(dest => dest.Title, src => src.Title)
|
||||
.Map(dest => dest.ShortInformation, src => src.ShortInfomation)
|
||||
.Map(dest => dest.FullInformation, src => src.FullInformation)
|
||||
.Map(dest => dest.Price, src => src.Price)
|
||||
.Map(dest => dest.MaxDiscountPercent, src => src.MaxDiscountPercent)
|
||||
.Map(dest => dest.SortOrder, src => src.SortOrder)
|
||||
.Map(dest => dest.IsActive, src => src.IsActive)
|
||||
.Map(dest => dest.CategoryIds, src => src.CategoryIds)
|
||||
.Map(dest => dest.ImageFile, src => src.ImageFile != null ? new CreateFileModel { File = src.ImageFile.File.ToByteArray(), FileName = src.ImageFile.FileName, Mime = src.ImageFile.Mime } : null)
|
||||
.Map(dest => dest.ThumbnailFile, src => src.ThumbnailFile != null ? new CreateFileModel { File = src.ThumbnailFile.File.ToByteArray(), FileName = src.ThumbnailFile.FileName, Mime = src.ThumbnailFile.Mime } : null);
|
||||
|
||||
config.NewConfig<UpdateDiscountProductRequest, UpdateDiscountProductCommand>()
|
||||
.Map(dest => dest.ProductId, src => src.ProductId)
|
||||
.Map(dest => dest.Title, src => src.Title)
|
||||
.Map(dest => dest.ShortInformation, src => src.ShortInfomation)
|
||||
.Map(dest => dest.FullInformation, src => src.FullInformation)
|
||||
.Map(dest => dest.Price, src => src.Price)
|
||||
.Map(dest => dest.MaxDiscountPercent, src => src.MaxDiscountPercent)
|
||||
.Map(dest => dest.SortOrder, src => src.SortOrder)
|
||||
.Map(dest => dest.IsActive, src => src.IsActive)
|
||||
.Map(dest => dest.CategoryIds, src => src.CategoryIds)
|
||||
.Map(dest => dest.ImageFile, src => src.ImageFile != null ? new UpdateFileModel { File = src.ImageFile.File.ToByteArray(), FileName = src.ImageFile.FileName, Mime = src.ImageFile.Mime } : null)
|
||||
.Map(dest => dest.ThumbnailFile, src => src.ThumbnailFile != null ? new UpdateFileModel { File = src.ThumbnailFile.File.ToByteArray(), FileName = src.ThumbnailFile.FileName, Mime = src.ThumbnailFile.Mime } : null);
|
||||
|
||||
config.NewConfig<DeleteDiscountProductRequest, DeleteDiscountProductCommand>()
|
||||
.Map(dest => dest.ProductId, src => src.ProductId);
|
||||
|
||||
// Response mappings
|
||||
config.NewConfig<Application.DiscountProductCQ.Queries.GetDiscountProducts.GetDiscountProductsResponseDto, GetDiscountProductsResponse>()
|
||||
.Map(dest => dest.MetaData, src => src.MetaData)
|
||||
.Map(dest => dest.Models, src => src.Products);
|
||||
|
||||
config.NewConfig<Application.DiscountProductCQ.Queries.GetDiscountProducts.DiscountProductDto, BackOffice.BFF.DiscountProduct.Protobuf.Protos.DiscountProduct.DiscountProductDto>()
|
||||
.Map(dest => dest.Id, src => src.Id)
|
||||
.Map(dest => dest.Title, src => src.Title)
|
||||
.Map(dest => dest.ShortInfomation, src => src.ShortInformation)
|
||||
.Map(dest => dest.Price, src => src.Price)
|
||||
.Map(dest => dest.MaxDiscountPercent, src => src.MaxDiscountPercent)
|
||||
.Map(dest => dest.ImagePath, src => src.ImagePath)
|
||||
.Map(dest => dest.ThumbnailPath, src => src.ThumbnailPath)
|
||||
.Map(dest => dest.RemainingCount, src => src.RemainingCount)
|
||||
.Map(dest => dest.ViewCount, src => src.ViewCount)
|
||||
.Map(dest => dest.IsActive, src => src.IsActive)
|
||||
.Map(dest => dest.Created, src => src.Created != DateTime.MinValue ? Google.Protobuf.WellKnownTypes.Timestamp.FromDateTime(src.Created.ToUniversalTime()) : null);
|
||||
|
||||
config.NewConfig<Application.DiscountProductCQ.Queries.GetDiscountProductById.GetDiscountProductByIdResponseDto, GetDiscountProductByIdResponse>()
|
||||
.Map(dest => dest.Id, src => src.Id)
|
||||
.Map(dest => dest.Title, src => src.Title)
|
||||
.Map(dest => dest.ShortInfomation, src => src.ShortInformation)
|
||||
.Map(dest => dest.FullInformation, src => src.FullInformation)
|
||||
.Map(dest => dest.Price, src => src.Price)
|
||||
.Map(dest => dest.MaxDiscountPercent, src => src.MaxDiscountPercent)
|
||||
.Map(dest => dest.ImagePath, src => src.ImagePath)
|
||||
.Map(dest => dest.ThumbnailPath, src => src.ThumbnailPath)
|
||||
.Map(dest => dest.RemainingCount, src => src.RemainingCount)
|
||||
.Map(dest => dest.ViewCount, src => src.ViewCount)
|
||||
.Map(dest => dest.SortOrder, src => src.SortOrder)
|
||||
.Map(dest => dest.IsActive, src => src.IsActive)
|
||||
.Map(dest => dest.Created, src => src.Created != DateTime.MinValue ? Google.Protobuf.WellKnownTypes.Timestamp.FromDateTime(src.Created.ToUniversalTime()) : null);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user