71 lines
3.8 KiB
C#
71 lines
3.8 KiB
C#
using AutoMapper;
|
|
using IRaCIS.Application.Contracts;
|
|
using IRaCIS.Core.Application.Contracts;
|
|
using IRaCIS.Core.Application.ViewModel;
|
|
using IRaCIS.Core.Domain.Models;
|
|
|
|
namespace IRaCIS.Core.Application.Service
|
|
{
|
|
public class AllocationConfig : Profile
|
|
{
|
|
public AllocationConfig()
|
|
{
|
|
|
|
CreateMap<TaskAllocationRule, TaskAllocationRuleView>()
|
|
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode))
|
|
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
|
|
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName))
|
|
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName))
|
|
.ForMember(o => o.ArmList, t => t.MapFrom(u => u.VisitTaskList.Where(c => c.TrialId == u.TrialId).Select(t => t.ArmEnum).Distinct()))
|
|
.ForMember(o => o.TotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count()))
|
|
.ForMember(o => o.SelfTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t => t.DoctorUserId == u.DoctorUserId)))
|
|
.ForMember(o => o.TotalSubjectCount, t => t.MapFrom(u => u.Trial.SubjectList.Count()))
|
|
/* .ForMember(o => o.SelfSubjectCount, t => t.MapFrom(u => u.Trial.su.Where(t => t.DoctorUserId == u.DoctorUserId).Select(t=>t.SubjectId).Distinct().Count())*/;
|
|
|
|
CreateMap<TaskAllocationRule, AllocateInfo>()
|
|
.ForMember(o => o.ArmList, t => t.MapFrom(u => u.VisitTaskList.Where(c => c.TrialId == u.TrialId).Select(t => t.ArmEnum).Distinct()))
|
|
.ForMember(o => o.TotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count()))
|
|
|
|
.ForMember(o => o.SelfTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t => t.DoctorUserId == u.DoctorUserId)));
|
|
|
|
|
|
|
|
|
|
CreateMap<VisitTask, VisitTaskView>()
|
|
.ForMember(o => o.SiteId, t => t.MapFrom(u => u.Subject.SiteId))
|
|
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.Subject.TrialSite.TrialSiteCode))
|
|
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
|
|
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode))
|
|
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
|
|
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName))
|
|
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName));
|
|
|
|
|
|
CreateMap<Subject, SubjectAssignView>()
|
|
.ForMember(o => o.SubjectId, t => t.MapFrom(u => u.Id))
|
|
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.TrialSite.TrialSiteCode))
|
|
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Code))
|
|
.ForMember(o => o.DoctorUserList, t => t.MapFrom(u => u.SubjectDoctorList.OrderByDescending(t=>t.UpdateTime)));
|
|
|
|
CreateMap<SubjectUser, AssignDoctorView>()
|
|
//.ForMember(o => o.AssignTime, t => t.MapFrom(u => u.AssignTime))
|
|
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode))
|
|
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
|
|
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName))
|
|
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName));
|
|
|
|
|
|
|
|
CreateMap<TaskAllocationRuleAddOrEdit, TaskAllocationRule>();
|
|
|
|
|
|
CreateMap<User, TrialDoctorUserSelectView>()
|
|
.ForMember(o => o.DoctorUserId, t => t.MapFrom(u => u.Id))
|
|
.ForMember(o => o.FullName, t => t.MapFrom(u => u.FullName));
|
|
|
|
|
|
}
|
|
}
|
|
|
|
}
|