using AutoMapper; using PARR.API.Contracts.V1.Responses; using PARR.API.MappingProfiles.Resolvers; using PARR.DAL.Models; using PARR.DAL.Models.V1; namespace PARR.API.MappingProfiles { public class DomainToResponseProfile : Profile { public DomainToResponseProfile() { // --- Job --- CreateMap() .Include() .ForMember(d => d.FrequencyMinute, o => o.MapFrom(s => s.Frequency)) .ForMember(d => d.Script, o => o.MapFrom(s => s.ScriptName)); CreateMap(); CreateMap, JobMinResponse>() .ForMember(d => d.Scheduled, o => o.MapFrom(s => s)); CreateMap() .ForMember(d => d.Script, o => o.MapFrom(s => s.ScriptName)); // === Job === CreateMap(); // --- Template --- CreateMap() .ForMember(d => d.Work, o => o.MapFrom(s => s.ApplicationsInWork!.Work)) .ForMember(d => d.Host, o => o.MapFrom(s => s.Host)) .ForMember(d => d.Process, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.Tnk!.Subprocess!.Process)) .ForMember(d => d.Subprocess, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.Tnk!.Subprocess)) .ForMember(d => d.Tnk, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.Tnk)) .ForMember(d => d.ShortDescription, o => o.MapFrom(s => s.ApplicationsInWork!.ShortDescription)) .ForMember(d => d.FullDescription, o => o.MapFrom(s => s.ApplicationsInWork!.FullDescription)) .ForMember(d => d.Solution, o => o.MapFrom(s => s.ApplicationsInWork!.Solution)) .ForMember(d => d.TemplateDuration, o => o.MapFrom(s => s.ApplicationsInWork!.TemplateDuration)) .ForMember(d => d.Initiator, o => o.MapFrom()) .ForMember(d => d.ClosingCode, o => o.MapFrom()) .ForMember(d => d.Category, o => o.MapFrom()); CreateMap() .ForMember(d => d.Assignment, o => o.MapFrom(s => s.Host!.WorkGroup)) .ForMember(d => d.Title, o => o.MapFrom(s => s.ShortDescription)) .ForMember(d => d.Branch, o => o.MapFrom(s => s.Host!.ResponseArea)) .ForMember(d => d.SlaInterval, o => o.MapFrom(s => s.TemplateDuration)) .ForMember(d => d.ConfigurationItem, o => o.MapFrom(s => s.Host!.Ek)) .ForMember(d => d.ContactName, o => o.MapFrom(s => s.Initiator)) .ForMember(d => d.Description, o => o.MapFrom(s => s.FullDescription)) .ForMember(d => d.ResolutionCode, o => o.MapFrom(s => s.ClosingCode)) .ForMember(d => d.Resolution, o => o.MapFrom(s => s.Solution)) .ForMember(d => d.RzdMTNKprocess, o => o.MapFrom(s => s.Process!.Name)) .ForMember(d => d.RzdMTNKprocessId, o => o.MapFrom(s => s.Process!.EsppId)) .ForMember(d => d.RzdMTNKsubprocess, o => o.MapFrom(s => s.Subprocess!.Name)) .ForMember(d => d.RzdMTNKsubprocessId, o => o.MapFrom(s => s.Subprocess!.EsppId)) .ForMember(d => d.RzdMTNKtnk, o => o.MapFrom(s => s.Tnk!.Name)) .ForMember(d => d.RzdMTNKtnkId, o => o.MapFrom(s => s.Tnk!.EsppId)) .ForMember(d => d.RzdMTNKjob, o => o.MapFrom(s => s.Work!.Name)) .ForMember(d => d.RzdMTNKjobId, o => o.MapFrom(s => s.Work!.EsppId)); // === Template === CreateMap(); CreateMap() .ForMember(d => d.Code, o => o.MapFrom(s => s.RobotStatus!.Code)) .ForMember(d => d.Name, o => o.MapFrom(s => s.RobotStatus!.Name)) .ForMember(d => d.Description, o => o.MapFrom(s => s.RobotStatus!.Description)); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember(d => d.Status, o => o.MapFrom(s => s.EkStatus!.Name)) .ForMember(d => d.ResponseArea, o => o.MapFrom(s => s.ResponseArea!.Name)); CreateMap(); CreateMap(); CreateMap() .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)); // --- RobotConfiguration --- CreateMap() .ForMember(d => d.IsActive, o => o.MapFrom(s => s.Template!.IsActiveTemplate)) .ForMember(d => d.ClosingCode, o => o.MapFrom()) .ForMember(d => d.FullDescription, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.FullDescription)) .ForMember(d => d.ShortDescription, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.ShortDescription)) .ForMember(d => d.Solution, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Solution)) .ForMember(d => d.ResponseArea, o => o.MapFrom(s => s.Template!.Host!.ResponseArea!.Name)) .ForMember(d => d.TemplateDuration, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.TemplateDuration)) .ForMember(d => d.Initiator, o => o.MapFrom()) .ForMember(d => d.Category, o => o.MapFrom()) .ForMember(d => d.WorkGroup, o => o.MapFrom(s => s.Template!.Host!.WorkGroup)) .ForMember(d => d.Ek, o => o.MapFrom(s => s.Template!.Host!.Ek)) .ForMember(d => d.Name, o => o.MapFrom(s => s.Template!.Name)) .ForMember(d => d.ProcessName, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.Tnk!.Subprocess!.Process!.Name)) .ForMember(d => d.ProcessEsppId, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.Tnk!.Subprocess!.Process!.EsppId)) .ForMember(d => d.SubprocessName, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.Tnk!.Subprocess!.Name)) .ForMember(d => d.SubprocessEsppId, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.Tnk!.Subprocess!.EsppId)) .ForMember(d => d.TnkName, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.Tnk!.Name)) .ForMember(d => d.TnkEsppId, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.Tnk!.EsppId)) .ForMember(d => d.WorkName, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.Name)) .ForMember(d => d.WorkEsppId, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.EsppId)) .ForMember(d => d.TaskId, o => o.MapFrom(s => s.Id)); //TODO: сделать маппинг!!! CreateMap() .ForMember(d => d.TaskId, o => o.MapFrom(s => s.Id)); // === RobotConfiguration === CreateMap(); CreateMap(); CreateMap() .ForMember(d => d.Robot, o => o.MapFrom(s => s.Robot)) .ForMember(d => d.TaskStatus, o => o.MapFrom(s => s.StatusTask)) .ForMember(d => d.RobotStatus, o => o.MapFrom(s => s.RobotStatus)); } } }