55 lines
2.6 KiB
C#
55 lines
2.6 KiB
C#
using CMSMicroservice.Protobuf.Protos.City;
|
|
using FrontOffice.BFF.Application.CityCQ.Queries.GetAllCitiesByFilter;
|
|
using Mapster;
|
|
using CmsProtos = CMSMicroservice.Protobuf.Protos;
|
|
|
|
namespace FrontOffice.BFF.Application.Common.Mappings;
|
|
|
|
public class CityProfile : IRegister
|
|
{
|
|
void IRegister.Register(TypeAdapterConfig config)
|
|
{
|
|
// Request: BFF → CMS
|
|
config.NewConfig<GetAllCitiesByFilterQuery, GetAllCitiesByFilterRequest>()
|
|
.Map(dest => dest.PaginationState, src => src.PaginationState)
|
|
.Map(dest => dest.SortBy, src => src.SortBy)
|
|
.Map(dest => dest.Filter, src => src.Filter);
|
|
|
|
// PaginationState is in CMSMicroservice.Protobuf.Protos namespace (from public_messages.proto)
|
|
config.NewConfig<PaginationStateDto, CmsProtos.PaginationState>()
|
|
.Map(dest => dest.PageNumber, src => src.PageNumber)
|
|
.Map(dest => dest.PageSize, src => src.PageSize);
|
|
|
|
config.NewConfig<GetAllCitiesByFilterFilterDto, GetAllCitiesByFilterFilter>()
|
|
.Map(dest => dest.Id, src => src.Id)
|
|
.Map(dest => dest.Name, src => src.Name)
|
|
.Map(dest => dest.Native, src => src.Native)
|
|
.Map(dest => dest.StateId, src => src.StateId);
|
|
|
|
// Response: CMS → BFF
|
|
config.NewConfig<GetAllCitiesByFilterResponse, GetAllCitiesByFilterResponseDto>()
|
|
.Map(dest => dest.MetaData, src => src.MetaData)
|
|
.Map(dest => dest.Models, src => src.Models);
|
|
|
|
// MetaData is in CMSMicroservice.Protobuf.Protos namespace (from public_messages.proto)
|
|
config.NewConfig<CmsProtos.MetaData, MetaDataDto>()
|
|
.Map(dest => dest.CurrentPage, src => src.CurrentPage)
|
|
.Map(dest => dest.TotalPage, src => src.TotalPage)
|
|
.Map(dest => dest.PageSize, src => src.PageSize)
|
|
.Map(dest => dest.TotalCount, src => src.TotalCount)
|
|
.Map(dest => dest.HasPrevious, src => src.HasPrevious)
|
|
.Map(dest => dest.HasNext, src => src.HasNext);
|
|
|
|
config.NewConfig<GetAllCitiesByFilterResponseModel, CityDto>()
|
|
.Map(dest => dest.Id, src => src.Id)
|
|
.Map(dest => dest.ExternalId, src => src.ExternalId)
|
|
.Map(dest => dest.Name, src => src.Name)
|
|
.Map(dest => dest.Native, src => src.Native)
|
|
.Map(dest => dest.Latitude, src => src.Latitude)
|
|
.Map(dest => dest.Longitude, src => src.Longitude)
|
|
.Map(dest => dest.StateId, src => src.StateId)
|
|
.Map(dest => dest.StateName, src => src.StateName)
|
|
.Map(dest => dest.StateNative, src => src.StateNative);
|
|
}
|
|
}
|