Авто картографы не работают с system.linq - PullRequest
0 голосов
/ 13 ноября 2018

Я использую auto mappers, но у меня проблема с использованием system.linq

using AutoMapper;
//using System.Linq;
using Squirrel.Api.Dtos.BoH.Corporation;
using Squirrel.Api.Dtos.Shared.Hardcoded;
using Squirrel.Api.Entities.ClientDB.Corporation;

namespace Squirrel.Api.Tasks.BoH.AutoMappers
{
    public class PopUpScreenBoHMapper : Profile
    {
        public PopUpScreenBoHMapper()
        {
            CreateMap<PopUpScreen, PopUpScreenBoHDto>()
                .ForMember(d => d.CompletionRuleId, o => o.MapFrom(s => s.CompletionRule.CompletionRuleId))
                .ForMember(d => d.CompletionRuleName, o => o.MapFrom(s => CompletionRuleDto.GetLocalizedName(s.CompletionRule.CompletionRuleId, s.CompletionRule.Name)))
                .ForMember(d => d.CreatedUserId, o => o.MapFrom(s => s.CreatedUser.UserId))
                .ForMember(d => d.CreatedUserName, o => o.MapFrom(s => s.CreatedUser.UserName))
                .ForMember(d => d.LastModifiedUserId, o => o.MapFrom(s => s.LastModifiedUser.UserId))
                .ForMember(d => d.LastModifiedUserName, o => o.MapFrom(s => s.LastModifiedUser.UserName));    
            //CreateMap<PopUpScreen, PopUpScreenBoHDto>()
            //    .AfterMap((o, d) =>
            //    {
            //        d.MenuEntryRels = (o.CustomSorted
            //                   ? d.MenuEntryRels.OrderBy(x => x.PositionY).ThenBy(x => x.PositionX)
            //                   : d.MenuEntryRels.OrderBy(x => x.MenuEntryName)).ToList();
            //    });
        }
    }
}

этот код работает нормально, идентификатор правила завершения отображается, но если удалить эти комментарии, идентификатор правила завершения не отображается, и я получаю 0 после отображения

1 Ответ

0 голосов
/ 22 ноября 2018
CreateMap<PopUpScreen, PopUpScreenBoHDto>()
    .ForMember(d => d.CompletionRuleId, o => o.MapFrom(s => s.CompletionRule.CompletionRuleId))
    .ForMember(d => d.CompletionRuleName, o => o.MapFrom(s => CompletionRuleDto.GetLocalizedName(s.CompletionRule.CompletionRuleId, s.CompletionRule.Name)))
    .ForMember(d => d.CreatedUserId, o => o.MapFrom(s => s.CreatedUser.UserId))
    .ForMember(d => d.CreatedUserName, o => o.MapFrom(s => s.CreatedUser.UserName))
    .ForMember(d => d.LastModifiedUserId, o => o.MapFrom(s => s.LastModifiedUser.UserId))
    .ForMember(d => d.LastModifiedUserName, o => o.MapFrom(s => s.LastModifiedUser.UserName))
    .AfterMap((o, d) =>
    {
        d.MenuEntryRels = (o.CustomSorted
                    ? d.MenuEntryRels.OrderBy(x => x.PositionY).ThenBy(x => x.PositionX)
                    : d.MenuEntryRels.OrderBy(x => x.MenuEntryName)).ToList();
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...