feat(api): Метод получения задания роботом

This commit is contained in:
Mikhail Trubnikov
2023-10-06 09:49:36 +10:00
parent af4a0b60b8
commit 1934f7c645
8 changed files with 98 additions and 2 deletions

View File

@@ -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<RobotTaskTemplateResponse>(mapper.Map<RobotTaskTemplateResponse>(task), true));
case RobotsEnum.ScheduleOrder:
//RobotTaskScheduleResponse
//TODO: сделать маппинг!!!
return Ok(new Response<RobotTaskScheduleResponse>(mapper.Map<RobotTaskScheduleResponse>(task), true));
default:
break;

View File

@@ -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<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!.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<RobotTaskTemplateInitiatorResolver>())
.ForMember(d => d.Category, o => o.MapFrom<RobotTaskTemplateCategoryResolver>())
.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, RobotTaskScheduleResponse>();
// === RobotConfiguration ===
}
}
}

View File

@@ -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<RobotConfiguration, RobotTaskTemplateResponse, string>
{
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;
}
}
}

View File

@@ -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<RobotConfiguration, RobotTaskTemplateResponse, string>
{
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;
}
}
}

View File

@@ -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<RobotConfiguration, RobotTaskTemplateResponse, string>
{
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;
}
}
}

View File

@@ -5,6 +5,7 @@ using PARR.DAL.Models;
namespace PARR.API.MappingProfiles.Resolvers
{
//todo: удалить
public class TemplateCategoryResolver : IValueResolver<Template, TemplateResponse, string>
{
private readonly SettingsFromDb settingsFromDb;

View File

@@ -5,6 +5,7 @@ using PARR.DAL.Models;
namespace PARR.API.MappingProfiles.Resolvers
{
//todo: удалить
public class TemplateClosingCodeResolver : IValueResolver<Template, TemplateResponse, string>
{
private readonly SettingsFromDb settingsFromDb;

View File

@@ -5,6 +5,7 @@ using PARR.DAL.Models;
namespace PARR.API.MappingProfiles.Resolvers
{
//todo: удалить
public class TemplateInitiatorResolver : IValueResolver<Template, TemplateResponse, string>
{
private readonly SettingsFromDb settingsFromDb;