38 lines
1.8 KiB
C#
38 lines
1.8 KiB
C#
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<mws.backend.dotnet.domain.Projects.Project, ProjectDto>()
|
||
|
|
.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<Role, RoleDto>();
|
||
|
|
CreateMap<MasterDataEntry, MasterData.MasterDataDto>();
|
||
|
|
CreateMap<RolePermission, PermissionEntryDto>();
|
||
|
|
CreateMap<User, UserDto>()
|
||
|
|
.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<Document, DocumentDto>();
|
||
|
|
CreateMap<Document, DocumentNodeDto>()
|
||
|
|
.ForMember(d => d.Children, opt => opt.Ignore());
|
||
|
|
CreateMap<TaskItem, TaskDto>()
|
||
|
|
.ForMember(d => d.AssigneeName, opt => opt.MapFrom(s => s.Assignee == null ? null : s.Assignee.DisplayName));
|
||
|
|
CreateMap<TaskItem, RecentTaskDto>()
|
||
|
|
.ForMember(d => d.Status, opt => opt.MapFrom(s => s.Status.ToString()));
|
||
|
|
CreateMap<Document, RecentDocumentDto>();
|
||
|
|
}
|
||
|
|
}
|