Commit 2a91b663 authored by Michal Bilanin's avatar Michal Bilanin 🙄
Browse files

fix: filtered result mapping

parent c82d22eb
Loading
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
using AutoMapper;
using Infrastructure.QueryObjects;

namespace PresentationLayer.Mvc.Installers;

public class
    FilteredResultConverter<TSource, TDestination> : ITypeConverter<FilteredResult<TSource>,
    FilteredResult<TDestination>> where TSource : class where TDestination : class
{
    public FilteredResult<TDestination> Convert(FilteredResult<TSource> source,
        FilteredResult<TDestination> destination, ResolutionContext context)
    {
        return new FilteredResult<TDestination>
        {
            Entities = context.Mapper.Map<IEnumerable<TDestination>>(source.Entities),
            PageIndex = source.PageIndex,
            TotalPages = source.TotalPages
        };
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -65,5 +65,7 @@ public class MvcMapperInstaller : Profile
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.NameQuery))
            .ForMember(dest => dest.PageIndex, opt => opt.MapFrom(src => src.TagPageIndex))
            .ForMember(dest => dest.PageSize, opt => opt.MapFrom(src => src.TagPageSize));

        CreateMap(typeof(FilteredResult<>), typeof(FilteredResult<>)).ConvertUsing(typeof(FilteredResultConverter<,>));
    }
}