using AutoMapper; using mws.backend.dotnet.application.Documents; using mws.backend.dotnet.application.Permissions; using mws.backend.dotnet.application.Projects; using mws.backend.dotnet.application.Tasks; using mws.backend.dotnet.application.Users; using mws.backend.dotnet.domain.Documents; using mws.backend.dotnet.domain.MasterData; using mws.backend.dotnet.domain.Roles; using mws.backend.dotnet.domain.Tasks; using mws.backend.dotnet.domain.Users; namespace mws.backend.dotnet.application.Common; public class MappingProfile : Profile { public MappingProfile() { CreateMap() .ForMember(d => d.CreatedByName, opt => opt.MapFrom(s => s.CreatedByUser == null ? null : s.CreatedByUser.DisplayName)) .ForMember(d => d.UpdatedByName, opt => opt.MapFrom(s => s.UpdatedByUser == null ? null : s.UpdatedByUser.DisplayName)); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember(d => d.RoleId, opt => opt.MapFrom(s => s.UserRoles.Select(r => r.RoleId).FirstOrDefault())) .ForMember(d => d.RoleName, opt => opt.MapFrom(s => string.Join(", ", s.UserRoles.Select(r => r.Role.Name)))); CreateMap(); CreateMap() .ForMember(d => d.Children, opt => opt.Ignore()); CreateMap() .ForMember(d => d.AssigneeName, opt => opt.MapFrom(s => s.Assignee == null ? null : s.Assignee.DisplayName)); CreateMap() .ForMember(d => d.Status, opt => opt.MapFrom(s => s.Status.ToString())); CreateMap(); } }