diff --git a/PARR.API/Controllers/V1/RobotTaskController.cs b/PARR.API/Controllers/V1/RobotTaskController.cs index e94214c9..9af28367 100644 --- a/PARR.API/Controllers/V1/RobotTaskController.cs +++ b/PARR.API/Controllers/V1/RobotTaskController.cs @@ -89,8 +89,6 @@ namespace PARR.API.Controllers.V1 if (task == null) return NotFound(); - //TODO: сделать маппинг!!! - switch (robotCode) { case RobotsEnum.TemplateOrder: @@ -98,6 +96,7 @@ namespace PARR.API.Controllers.V1 return Ok(new Response(mapper.Map(task), true)); case RobotsEnum.ScheduleOrder: //RobotTaskScheduleResponse + //TODO: сделать маппинг!!! return Ok(new Response(mapper.Map(task), true)); default: break; diff --git a/PARR.API/MappingProfiles/DomainToResponseProfile.cs b/PARR.API/MappingProfiles/DomainToResponseProfile.cs index eb3e866b..b049b6a1 100644 --- a/PARR.API/MappingProfiles/DomainToResponseProfile.cs +++ b/PARR.API/MappingProfiles/DomainToResponseProfile.cs @@ -92,6 +92,34 @@ namespace PARR.API.MappingProfiles .ForMember(d => d.Date, o => o.MapFrom(s => s.DateCreated)) .ForMember(d => d.TemplateName, o => o.MapFrom(s => s.Template!.Name)); + + // --- 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)); + + //TODO: сделать маппинг!!! + CreateMap(); + // === RobotConfiguration === + } } } diff --git a/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateCategoryResolver.cs b/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateCategoryResolver.cs new file mode 100644 index 00000000..01b3d4ac --- /dev/null +++ b/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateCategoryResolver.cs @@ -0,0 +1,22 @@ +using AutoMapper; +using PARR.API.Contracts.V1.Responses; +using PARR.DAL.Contracts; +using PARR.DAL.Models; + +namespace PARR.API.MappingProfiles.Resolvers +{ + public class RobotTaskTemplateCategoryResolver : IValueResolver + { + private readonly SettingsFromDb settingsFromDb; + + public RobotTaskTemplateCategoryResolver(SettingsFromDb settingsFromDb) + { + this.settingsFromDb = settingsFromDb; + } + + public string Resolve(RobotConfiguration source, RobotTaskTemplateResponse destination, string destMember, ResolutionContext context) + { + return settingsFromDb.Category; + } + } +} diff --git a/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateClosingCodeResolver.cs b/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateClosingCodeResolver.cs new file mode 100644 index 00000000..9e49fdc9 --- /dev/null +++ b/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateClosingCodeResolver.cs @@ -0,0 +1,22 @@ +using AutoMapper; +using PARR.API.Contracts.V1.Responses; +using PARR.DAL.Contracts; +using PARR.DAL.Models; + +namespace PARR.API.MappingProfiles.Resolvers +{ + public class RobotTaskTemplateClosingCodeResolver : IValueResolver + { + private readonly SettingsFromDb settingsFromDb; + + public RobotTaskTemplateClosingCodeResolver(SettingsFromDb settingsFromDb) + { + this.settingsFromDb = settingsFromDb; + } + + public string Resolve(RobotConfiguration source, RobotTaskTemplateResponse destination, string destMember, ResolutionContext context) + { + return settingsFromDb.ClosingCode; + } + } +} diff --git a/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateInitiatorResolver.cs b/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateInitiatorResolver.cs new file mode 100644 index 00000000..9952ec8f --- /dev/null +++ b/PARR.API/MappingProfiles/Resolvers/RobotTaskTemplateInitiatorResolver.cs @@ -0,0 +1,22 @@ +using AutoMapper; +using PARR.API.Contracts.V1.Responses; +using PARR.DAL.Contracts; +using PARR.DAL.Models; + +namespace PARR.API.MappingProfiles.Resolvers +{ + public class RobotTaskTemplateInitiatorResolver : IValueResolver + { + private readonly SettingsFromDb settingsFromDb; + + public RobotTaskTemplateInitiatorResolver(SettingsFromDb settingsFromDb) + { + this.settingsFromDb = settingsFromDb; + } + + public string Resolve(RobotConfiguration source, RobotTaskTemplateResponse destination, string destMember, ResolutionContext context) + { + return settingsFromDb.Initiator; + } + } +} diff --git a/PARR.API/MappingProfiles/Resolvers/TemplateCategoryResolver.cs b/PARR.API/MappingProfiles/Resolvers/TemplateCategoryResolver.cs index 342d4965..0c323b70 100644 --- a/PARR.API/MappingProfiles/Resolvers/TemplateCategoryResolver.cs +++ b/PARR.API/MappingProfiles/Resolvers/TemplateCategoryResolver.cs @@ -5,6 +5,7 @@ using PARR.DAL.Models; namespace PARR.API.MappingProfiles.Resolvers { + //todo: удалить public class TemplateCategoryResolver : IValueResolver { private readonly SettingsFromDb settingsFromDb; diff --git a/PARR.API/MappingProfiles/Resolvers/TemplateClosingCodeResolver.cs b/PARR.API/MappingProfiles/Resolvers/TemplateClosingCodeResolver.cs index d7d2c264..a4105ffb 100644 --- a/PARR.API/MappingProfiles/Resolvers/TemplateClosingCodeResolver.cs +++ b/PARR.API/MappingProfiles/Resolvers/TemplateClosingCodeResolver.cs @@ -5,6 +5,7 @@ using PARR.DAL.Models; namespace PARR.API.MappingProfiles.Resolvers { + //todo: удалить public class TemplateClosingCodeResolver : IValueResolver { private readonly SettingsFromDb settingsFromDb; diff --git a/PARR.API/MappingProfiles/Resolvers/TemplateInitiatorResolver.cs b/PARR.API/MappingProfiles/Resolvers/TemplateInitiatorResolver.cs index 5ba519a8..03302ba6 100644 --- a/PARR.API/MappingProfiles/Resolvers/TemplateInitiatorResolver.cs +++ b/PARR.API/MappingProfiles/Resolvers/TemplateInitiatorResolver.cs @@ -5,6 +5,7 @@ using PARR.DAL.Models; namespace PARR.API.MappingProfiles.Resolvers { + //todo: удалить public class TemplateInitiatorResolver : IValueResolver { private readonly SettingsFromDb settingsFromDb;