feat(api): RobotTaskScheduleResponse

This commit is contained in:
Mikhail Trubnikov
2023-10-10 16:58:05 +10:00
parent e60e0ec9c7
commit a4dde4c59a
4 changed files with 42 additions and 15 deletions

View File

@@ -1,12 +1,25 @@
namespace PARR.API.Contracts.V1.Responses
{
public class RobotTaskScheduleResponse
public class RobotTaskScheduleResponse : RobotTaskBaseResponse
{
/// <summary>
/// RobotConfigurationId
/// ИД расписания из ЕСПП. При создании, его не будет
/// </summary>
public Guid TaskId { get; set; }
public string? EsppId { get; set; }
public required string ScheduleName { get; set; }
public bool IsActive { get; set; }
public required string ResponseArea { get; set; }
public required string TemplateName { get; set; }
public Guid TemplateId { get; set; }
public required string WorkGroup { get; set; }
public string? Description { get; set; }
// TODO:
}

View File

@@ -1,12 +1,7 @@
namespace PARR.API.Contracts.V1.Responses
{
public class RobotTaskTemplateResponse
public class RobotTaskTemplateResponse : RobotTaskBaseResponse
{
/// <summary>
/// RobotConfigurationId
/// </summary>
public Guid TaskId { get; set; }
public bool IsActive { get; set; }
public required string ClosingCode { get; set; }
public required string FullDescription { get; set; }
@@ -35,4 +30,12 @@
}
public class RobotTaskBaseResponse
{
/// <summary>
/// RobotConfigurationId
/// </summary>
public Guid TaskId { get; set; }
}
}

View File

@@ -50,8 +50,6 @@ namespace PARR.API.Controllers.V1
case RobotsEnum.TemplateOrder:
query = query.Include(t => t.Template)
.ThenInclude(t => t!.Host).ThenInclude(t => t!.ResponseArea)
.Include(t => t.Template)
.ThenInclude(t => t!.Host)
.Include(t => t.Template)
.ThenInclude(a => a!.ApplicationsInWork)
.ThenInclude(w => w!.Work)
@@ -60,6 +58,8 @@ namespace PARR.API.Controllers.V1
.ThenInclude(p => p!.Process);
break;
case RobotsEnum.ScheduleOrder:
query = query.Include(t => t.Template)
.ThenInclude(t => t!.Host).ThenInclude(t => t!.ResponseArea);
//todo: include
break;
default:

View File

@@ -70,6 +70,11 @@ namespace PARR.API.MappingProfiles
// --- 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>())
@@ -90,12 +95,18 @@ namespace PARR.API.MappingProfiles
.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));
.ForMember(d => d.WorkEsppId, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.Work!.EsppId));
//TODO: сделать маппинг!!!
CreateMap<RobotConfiguration, RobotTaskScheduleResponse>()
.ForMember(d => d.TaskId, o => o.MapFrom(s => s.Id));
.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!.Host!.ResponseArea!.Name))
.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!.Host!.WorkGroup))
;
// === RobotConfiguration ===
CreateMap<Robot, RobotResponse>();