372 lines
18 KiB
C#
372 lines
18 KiB
C#
using AutoMapper;
|
||
using PARR.API.Authentication.Models;
|
||
using PARR.API.Contracts.V1.Responses;
|
||
using PARR.API.MappingProfiles.Resolvers;
|
||
using PARR.Common.Domain;
|
||
using PARR.DAL.DomainModels;
|
||
using PARR.DAL.Models;
|
||
using PARR.DAL.Models.Job;
|
||
using PARR.DAL.Models.Unit;
|
||
|
||
namespace PARR.API.MappingProfiles
|
||
{
|
||
public class DomainToResponseProfile : Profile
|
||
{
|
||
public DomainToResponseProfile()
|
||
{
|
||
#region Template
|
||
|
||
// --- Template ---
|
||
CreateMap<Template, TemplateResponse>()
|
||
.ForMember(d => d.Job, o => o.MapFrom(s => s.Job))
|
||
.ForMember(d => d.Unit, o => o.MapFrom(s => s.Unit))
|
||
.ForMember(d => d.Process, o => o.MapFrom(s => s.Job!.Tnk!.Subprocess!.Process))
|
||
.ForMember(d => d.Subprocess, o => o.MapFrom(s => s.Job!.Tnk!.Subprocess))
|
||
.ForMember(d => d.Tnk, o => o.MapFrom(s => s.Job!.Tnk))
|
||
.ForMember(d => d.ShortDescription, o => o.MapFrom(s => s.Job!.Group!.ShortDescription))
|
||
.ForMember(d => d.FullDescription, o => o.MapFrom(s => s.Job!.Group!.FullDescription))
|
||
.ForMember(d => d.Solution, o => o.MapFrom(s => s.Job!.Group!.Solution))
|
||
.ForMember(d => d.TemplateDuration, o => o.MapFrom(s => s.Job!.Group!.TemplateDuration))
|
||
.ForMember(d => d.Initiator, o => o.MapFrom<TemplateInitiatorResolver>())
|
||
.ForMember(d => d.ClosingCode, o => o.MapFrom<TemplateClosingCodeResolver>())
|
||
.ForMember(d => d.Category, o => o.MapFrom<TemplateCategoryResolver>())
|
||
.ForMember(d => d.SyncStatus, o => o.MapFrom(s => s.RobotConfigurations.OrderBy(t => t.RobotCode)))
|
||
.ForMember(d => d.Schedule, o => o.MapFrom<TemplateScheduleResolver>())
|
||
.ForMember(d => d.Agent, o => o.MapFrom(s => s.Job!.Group!))
|
||
//.ForMember(d => d.NextRun, o => o.MapFrom(s => s.ApplicationsInWork!.NextRun))
|
||
//.ForMember(d => d.LastRun, o => o.MapFrom(s => s.ApplicationsInWork!.LastRun))
|
||
.ForMember(d => d.NextRun, o => o.MapFrom(s => s.NextRun))
|
||
.ForMember(d => d.LastRun, o => o.MapFrom(s => s.LastRun))
|
||
.ForMember(d => d.OrderCount, o => o.MapFrom(s => s.Orders.Count()))
|
||
.ForMember(d => d.IsAutoDistributionEnabled, o => o.MapFrom(s => s.Job!.Group!.IsAutoDistributionEnabled));
|
||
// === Template ===
|
||
|
||
|
||
CreateMap<Template, TemplateScheduleEsppIdResponse>();
|
||
|
||
#endregion
|
||
|
||
CreateMap<JobGroup, TemplateAgentResponse>()
|
||
.ForMember(d => d.IsAgent, o => o.MapFrom(s => s.IsAgent))
|
||
.ForMember(d => d.Name, o => o.MapFrom(s => s.AgentName))
|
||
.ForMember(d => d.Script, o => o.MapFrom(s => s.AgentScript))
|
||
.ForMember(d => d.TimeOutSec, o => o.MapFrom(s => s.AgentTimeOutSec));
|
||
|
||
CreateMap<DAL.Models.TaskStatus, TaskStatusResponse>();
|
||
|
||
|
||
#region Tnk
|
||
|
||
CreateMap<Process, ProcessResponse>();
|
||
|
||
CreateMap<Subprocess, SubprocessResponse>()
|
||
.Include<Subprocess, SubprocessWithProcessResponse>();
|
||
|
||
CreateMap<Subprocess, SubprocessWithProcessResponse>();
|
||
|
||
|
||
CreateMap<Tnk, TnkResponse>()
|
||
.Include<Tnk, TnkWithSubprocessResponse>();
|
||
|
||
CreateMap<Tnk, TnkWithSubprocessResponse>();
|
||
|
||
|
||
CreateMap<Work, WorkResponse>()
|
||
.Include<Work, WorkWithTnkResponse>();
|
||
|
||
CreateMap<Work, WorkWithTnkResponse>();
|
||
|
||
#endregion
|
||
|
||
|
||
CreateMap<Application, ApplicationResponse>()
|
||
.ForMember(t => t.Type, o => o.MapFrom(s => s.ApplicationType));
|
||
|
||
CreateMap<ApplicationType, ApplicationTypeResponse>();
|
||
|
||
#region Host
|
||
|
||
CreateMap<DAL.Models.Host, HostBaseResponse>()
|
||
.Include<DAL.Models.Host, HostTemplateResponse>()
|
||
.Include<DAL.Models.Host, HostWithApplicationsResponse>()
|
||
.ForMember(d => d.Status, o => o.MapFrom(s => s.EkStatus!.Name))
|
||
.ForMember(d => d.EkStatus, o => o.MapFrom(s => s.EkStatus))
|
||
.ForMember(d => d.ResponseArea, o => o.MapFrom(s => s.ResponseArea!.Name))
|
||
.ForMember(d => d.WorkGroupName, o => o.MapFrom(s => s.WorkGroup!.Name))
|
||
.ForMember(d => d.WorkGroup, o => o.MapFrom(s => s.WorkGroup))
|
||
.ForMember(d => d.EkResponseArea, o => o.MapFrom(s => s.ResponseArea));
|
||
|
||
CreateMap<DAL.Models.Host, HostTemplateResponse>();
|
||
|
||
CreateMap<DAL.Models.Host, HostWithApplicationsResponse>()
|
||
.ForMember(d => d.Applications, o => o.MapFrom(s => s.ApplicationsInHosts.Select(t => t.Application).OrderBy(t => t.Name)));
|
||
|
||
#endregion
|
||
|
||
#region Unit
|
||
|
||
CreateMap<UnitField, FieldResponse>()
|
||
.ForMember(d => d.Name, o => o.MapFrom(s => (string.IsNullOrEmpty(s.DisplayName)) ? s.AihitName : s.DisplayName));
|
||
|
||
CreateMap<UnitFieldValue, ValueResponse>();
|
||
|
||
CreateMap<UnitInValue, AttributeResponse>()
|
||
.ForMember(d => d.Field, o => o.MapFrom(s => s.Field))
|
||
.ForMember(d => d.Value, o => o.MapFrom(s => s.Value));
|
||
|
||
CreateMap<Unit, UnitBaseResponse>()
|
||
.Include<Unit, UnitWithAttributesResponse>()
|
||
.ForMember(d => d.Name, o => o.MapFrom(s => s.Name));
|
||
|
||
CreateMap<Unit, UnitWithAttributesResponse>()
|
||
.ForMember(d => d.Attributes, o => o.MapFrom(s => s.UnitValues!.OrderBy(s => (string.IsNullOrEmpty(s.Field!.DisplayName)) ? s.Field!.AihitName : s.Field!.DisplayName)))
|
||
.ForMember(d => d.Childrens, o => o.MapFrom(s => s.ChildUnits.Select(t => t.ChildUnit).OrderBy(t => t.Name)))
|
||
.ForMember(d => d.Parents, o => o.MapFrom(s => s.ParentUnits.Select(t => t.ParentUnit).OrderBy(t => t.Name)));
|
||
#endregion
|
||
|
||
#region WorkGroup
|
||
|
||
CreateMap<WorkGroup, WorkGroupResponse>();
|
||
|
||
#endregion
|
||
|
||
#region Robot
|
||
|
||
CreateMap<RobotStatus, RobotStatusResponse>();
|
||
|
||
CreateMap<RobotHistoryLevel, RobotHistoryLevelResponse>();
|
||
|
||
CreateMap<RobotHistory, RobotHistoryResponse>()
|
||
.ForMember(d => d.Level, o => o.MapFrom(s => s.RobotHistoryLevel))
|
||
.ForMember(d => d.Date, o => o.MapFrom(s => s.DateCreated))
|
||
.ForMember(d => d.TaskId, o => o.MapFrom(s => s.RobotConfigurationId))
|
||
.ForMember(d => d.TaskStatus, o => o.MapFrom(s => s.StatusTask))
|
||
.ForMember(d => d.TemplateId, o => o.MapFrom(s => s.RobotConfiguration!.TemplateId))
|
||
.ForMember(d => d.TemplateName, o => o.MapFrom(s => s.RobotConfiguration!.Template!.Name))
|
||
.ForMember(d => d.Robot, o => o.MapFrom(s => s.RobotConfiguration!.Robot));
|
||
|
||
#endregion
|
||
|
||
#region RobotConfiguration
|
||
// --- RobotConfiguration ---
|
||
CreateMap<RobotConfiguration, RobotTaskBaseResponse>()
|
||
.Include<RobotConfiguration, RobotTaskTemplateResponse>()
|
||
.Include<RobotConfiguration, RobotTaskScheduleResponse>()
|
||
.ForMember(d => d.TaskId, o => o.MapFrom(s => s.Id));
|
||
|
||
CreateMap<RobotConfiguration, RobotTaskTemplateResponse>()
|
||
.ForMember(d => d.IsActive, o => o.MapFrom(s => s.Template!.IsActiveTemplate))
|
||
.ForMember(d => d.ClosingCode, o => o.MapFrom<RobotTaskTemplateClosingCodeResolver>())
|
||
.ForMember(d => d.FullDescription, o => o.MapFrom(s => s.Template!.Job!.Group!.FullDescription))
|
||
.ForMember(d => d.ShortDescription, o => o.MapFrom(s => s.Template!.Job!.Group!.ShortDescription))
|
||
.ForMember(d => d.Solution, o => o.MapFrom(s => s.Template!.Job!.Group!.Solution))
|
||
//.ForMember(d => d.ResponseArea, o => o.MapFrom(s => s.Template!.Host!.ResponseArea!.Name))
|
||
//ЗО берем у группы а не у хоста
|
||
.ForMember(d => d.ResponseArea, o => o.MapFrom(s => s.Template!.Unit!.BaseFields!.ResponseArea))
|
||
.ForMember(d => d.TemplateDuration, o => o.MapFrom(s => s.Template!.Job!.Group!.TemplateDuration))
|
||
.ForMember(d => d.Initiator, o => o.MapFrom<RobotTaskTemplateInitiatorResolver>())
|
||
.ForMember(d => d.Category, o => o.MapFrom<RobotTaskTemplateCategoryResolver>())
|
||
.ForMember(d => d.WorkGroup, o => o.MapFrom(s => s.Template!.Job!.WorkGroupMask))
|
||
.ForMember(d => d.Ek, o => o.MapFrom(s => s.Template!.Unit!.Name))
|
||
.ForMember(d => d.Name, o => o.MapFrom(s => s.Template!.Name))
|
||
.ForMember(d => d.ProcessName, o => o.MapFrom(s => s.Template!.Job!.Tnk!.Subprocess!.Process!.Name))
|
||
.ForMember(d => d.ProcessEsppId, o => o.MapFrom(s => s.Template!.Job!.Tnk!.Subprocess!.Process!.EsppId))
|
||
.ForMember(d => d.SubprocessName, o => o.MapFrom(s => s.Template!.Job!.Tnk!.Subprocess!.Name))
|
||
.ForMember(d => d.SubprocessEsppId, o => o.MapFrom(s => s.Template!.Job!.Tnk!.Subprocess!.EsppId))
|
||
.ForMember(d => d.TnkName, o => o.MapFrom(s => s.Template!.Job!.Tnk!.Name))
|
||
.ForMember(d => d.TnkEsppId, o => o.MapFrom(s => s.Template!.Job!.Tnk!.EsppId))
|
||
.ForMember(d => d.WorkName, o => o.MapFrom(s => s.Template!.Job!.WorkName))
|
||
//.ForMember(d => d.WorkEsppId, o => o.MapFrom(s => s.Template!.Job!.EsppId))
|
||
.ForMember(d => d.ScheduleEsppId, o => o.MapFrom(s => s.Template!.ScheduleEsppId));
|
||
|
||
CreateMap<RobotConfiguration, RobotTaskScheduleResponse>()
|
||
.ForMember(d => d.EsppId, o => o.MapFrom(s => s.Template!.ScheduleEsppId))
|
||
.ForMember(d => d.ScheduleName, o => o.MapFrom(s => s.Template!.Name))
|
||
.ForMember(d => d.IsActive, o => o.MapFrom(s => s.Template!.IsActiveSchedule))
|
||
.ForMember(d => d.ResponseArea, o => o.MapFrom(s => s.Template!.Unit!.BaseFields!.ResponseArea))
|
||
.ForMember(d => d.TemplateName, o => o.MapFrom(s => s.Template!.Name))
|
||
.ForMember(d => d.TemplateId, o => o.MapFrom(s => s.Template!.Id))
|
||
.ForMember(d => d.WorkGroup, o => o.MapFrom(s => s.Template!.Job!.WorkGroupMask))
|
||
.ForMember(d => d.Exclude, o => o.MapFrom<RobotTaskScheduleExcludeResolver>())
|
||
.ForMember(d => d.Timezone, o => o.MapFrom<RobotTaskScheduleTimezoneResolver>())
|
||
.ForMember(d => d.RepeatRange, o => o.MapFrom<RobotTaskScheduleRepeatRangeResolver>())
|
||
//todo: GenerationTime
|
||
//.ForMember(d => d.GenerationTime, o => o.MapFrom(s => EsppScheduleHelpers.GetGenerationTime(s.Template!.NextRun)))
|
||
.ForMember(d => d.GenerationTime, o => o.MapFrom<RobotTaskScheduleGenerationTimeResolver>())
|
||
//.ForMember(d => d.NextStart, o => o.MapFrom(s => EsppScheduleHelpers.GetNextRun(s.Template!.NextRun)))
|
||
.ForMember(d => d.NextStart, o => o.MapFrom<RobotTaskScheduleNextStartResolver>())
|
||
.ForMember(d => d.ScheduleType, o => o.MapFrom(s =>
|
||
s.Template!.Job!.Group!.EsppSchValues!.First()!.EsppSchTypeConfig!.EsppSchTypeSchedule!.Description))
|
||
.ForMember(d => d.ScheduleTypeCode, o => o.MapFrom(s =>
|
||
s.Template!.Job!.Group!.EsppSchValues!.First()!.EsppSchTypeConfig!.EsppSchTypeSchedule!.Id))
|
||
.ForMember(d => d.Schedule, o => o.MapFrom<RobotTaskScheduleSchResolver>());
|
||
// === RobotConfiguration ===
|
||
#endregion
|
||
|
||
CreateMap<Robot, RobotResponse>();
|
||
|
||
CreateMap<DAL.Models.TaskStatus, TaskStatusResponse>();
|
||
|
||
CreateMap<RobotConfiguration, RobotConfigurationResponse>()
|
||
.ForMember(d => d.Robot, o => o.MapFrom(s => s.Robot))
|
||
.ForMember(d => d.TaskStatus, o => o.MapFrom(s => s.TaskStatus))
|
||
.ForMember(d => d.RobotStatus, o => o.MapFrom(s => s.RobotStatus));
|
||
|
||
|
||
#region EsppSch
|
||
CreateMap<EsppSchTypeSchedule, EsppScheduleTypeScheduleResponse>()
|
||
.Include<EsppSchTypeSchedule, EsppScheduleTypeScheduleWithDataResponse>();
|
||
|
||
CreateMap<EsppSchTypeSchedule, EsppScheduleTypeScheduleWithDataResponse>()
|
||
.ForMember(d => d.Configs, o => o.MapFrom(s => s.EsppSchTypeConfigs.OrderBy(t => t.Order)));
|
||
|
||
|
||
CreateMap<EsppSchTypeConfig, EsppScheduleTypeConfigWithDataResponse>()
|
||
.ForMember(d => d.Type, o => o.MapFrom(s => s.EsppSchType));
|
||
|
||
|
||
CreateMap<EsppSchType, EsppScheduleTypeResponse>()
|
||
.Include<EsppSchType, EsppScheduleTypeWithDataResponse>();
|
||
|
||
CreateMap<EsppSchType, EsppScheduleTypeWithDataResponse>()
|
||
.ForMember(d => d.Values, o => o.MapFrom(s => s.EsppSchTypeValues.OrderBy(t => t.Order)));
|
||
|
||
|
||
CreateMap<EsppSchTypeValue, EsppScheduleTypeValueResponse>();
|
||
|
||
CreateMap<EsppScheduleValDto, EsppScheduleValResponse>()
|
||
.ForMember(d => d.Order, o => o.MapFrom(s => s.Order))
|
||
.ForMember(d => d.Value, o => o.MapFrom(s => s.Value))
|
||
.ForMember(d => d.Type, o => o.MapFrom(s => s.Type));
|
||
#endregion EsppSch
|
||
|
||
CreateMap<AgentHistoryLevel, AgentHistoryLevelResponse>();
|
||
|
||
CreateMap<AgentHistory, AgentHistoryResponse>()
|
||
.ForMember(d => d.Date, o => o.MapFrom(s => s.DateCreated))
|
||
.ForMember(d => d.Level, o => o.MapFrom(s => s.AgentHistoryLevel))
|
||
.ForMember(d => d.TemplateName, o => o.MapFrom(s => s.Template!.Name));
|
||
|
||
|
||
#region User
|
||
|
||
CreateMap<User, UserBaseResponse>()
|
||
.Include<User, UserResponse>();
|
||
|
||
CreateMap<User, UserBaseResponse>();
|
||
|
||
CreateMap<User, UserResponse>()
|
||
.ForMember(t => t.Roles, o => o.MapFrom(s => s.Roles.Select(t => t.Role).OrderBy(t => t!.Description)));
|
||
|
||
CreateMap<Role, RoleResponse>();
|
||
|
||
CreateMap<UserCache, UserProfileResponse>();
|
||
|
||
#endregion
|
||
|
||
#region Order
|
||
|
||
CreateMap<OrderStatus, OrderStatusResponse>();
|
||
|
||
CreateMap<Order, OrderResponseBase>()
|
||
.Include<Order, OrderForAgentHistoryResponse>()
|
||
.Include<Order, OrderResponse>();
|
||
|
||
CreateMap<Order, OrderForAgentHistoryResponse>()
|
||
.ForMember(s => s.Status, o => o.MapFrom(s => s.OrderStatus))
|
||
.ForMember(s => s.NextStatus, o => o.MapFrom(s => s.NextStatus));
|
||
|
||
CreateMap<Order, OrderResponse>()
|
||
.ForMember(s => s.Status, o => o.MapFrom(s => s.OrderStatus))
|
||
.ForMember(s => s.NextStatus, o => o.MapFrom(s => s.NextStatus));
|
||
|
||
#endregion
|
||
|
||
#region ApplicationInWork
|
||
|
||
CreateMap<ApplicationsInWork, ApplicationInWorkBaseResponse>()
|
||
.Include<ApplicationsInWork, ApplicationInWorkResponse>()
|
||
.ForMember(d => d.Application, o => o.MapFrom(s => s.Application));
|
||
|
||
CreateMap<ApplicationsInWork, ApplicationInWorkBaseResponse>();
|
||
|
||
CreateMap<ApplicationsInWork, ApplicationInWorkResponse>()
|
||
.ForMember(d => d.Work, o => o.MapFrom(s => s.Work))
|
||
//.ForMember(d => d.TemplatesCount, o => o.MapFrom(s => s.Templates.Count()))
|
||
.ForMember(d => d.Schedule, o => o.MapFrom<ApplicationInWorkScheduleResolver>())
|
||
.ForMember(d => d.WorkGroups, o => o.MapFrom(s => s.WorkGroups.OrderBy(t => t.WorkGroup!.Name).Select(t => t.WorkGroup)))
|
||
.ForMember(d => d.AutoControl, o => o.MapFrom(s => s.JobAutoControl));
|
||
|
||
#endregion
|
||
|
||
#region Job
|
||
CreateMap<Job, JobBaseResponse>()
|
||
.Include<Job, JobResponse>();
|
||
|
||
CreateMap<Job, JobResponse>();
|
||
#endregion
|
||
|
||
#region JobGroup
|
||
CreateMap<JobGroup, JobGroupBaseResponse>()
|
||
.Include<JobGroup, JobGroupResponse>();
|
||
|
||
CreateMap<JobGroup, JobGroupBaseResponse>()
|
||
.ForMember(d => d.Name, o => o.MapFrom(s => s.GroupName));
|
||
|
||
CreateMap<JobGroup, JobGroupResponse>()
|
||
.ForMember(d => d.Schedule, o => o.MapFrom<JobGroupScheduleResolver>())
|
||
.ForMember(d => d.JobsCount, o => o.MapFrom(s => s.Jobs.Count()));
|
||
|
||
#endregion
|
||
|
||
#region JobAutoControl
|
||
|
||
CreateMap<JobAutoControl, JobAutoControlBaseResponse>()
|
||
.Include<JobAutoControl, JobAutoControlResponse>();
|
||
|
||
CreateMap<JobAutoControl, JobAutoControlResponse>()
|
||
.ForMember(d => d.EkMasks, o => o.MapFrom(s => s.JobEkMasks.OrderBy(t => t.Name)))
|
||
.ForMember(d => d.EnabledEkStatuses, o => o.MapFrom(s => s.JobAutoControlInEkStatuses.Select(t => t.EkStatus).OrderBy(t => t.Name)))
|
||
.ForMember(d => d.WorkGroups, o => o.MapFrom(s => s.ApplicationsInWork!.WorkGroups.Select(t => t.WorkGroup).OrderBy(t => t.Name)));
|
||
|
||
|
||
#endregion
|
||
|
||
#region ResponseArea
|
||
CreateMap<ResponseArea, ResponseAreaResponse>();
|
||
#endregion
|
||
|
||
CreateMap<JobEkMask, JobEkMaskResponse>();
|
||
|
||
|
||
CreateMap<EkStatus, EkStatusResponse>();
|
||
|
||
|
||
CreateMap<WeekendDay, WeekendResponse>();
|
||
|
||
#region TemplateHistory
|
||
|
||
CreateMap<TemplateHistory, TemplateHistoryResponse>()
|
||
.ForMember(d => d.TemplateId, o => o.MapFrom(s => s.ParentId))
|
||
.ForMember(d => d.Initiator, o => o.MapFrom(s => s));
|
||
|
||
#endregion
|
||
|
||
|
||
#region Initiator
|
||
|
||
CreateMap<IHistoryInitiator, HistoryInitiatorResponse>()
|
||
.ForMember(d => d.Ip, o => o.MapFrom(s => s.InitiatorIp))
|
||
.ForMember(d => d.Comment, o => o.MapFrom(s => s.InitiatorComment))
|
||
.ForMember(d => d.ParrComponentId, o => o.MapFrom(s => s.InitiatorParrComponentId))
|
||
.ForMember(d => d.ParrComponent, o => o.MapFrom<HistoryInitiatorParrComponentResolver>())
|
||
.ForMember(d => d.User, o => o.MapFrom<HistoryInitiatorUserResolver>());
|
||
|
||
#endregion
|
||
|
||
}
|
||
}
|
||
|
||
|
||
}
|