feat(api): в ApplicationInWork добавлена информация о статусах AutoControl
This commit is contained in:
@@ -47,6 +47,8 @@
|
||||
public ApplicationInWorkScheduleResponse? Schedule { get; set; }
|
||||
|
||||
public List<WorkGroupResponse>? WorkGroups { get; set; }
|
||||
|
||||
public JobAutoControlBaseResponse? AutoControl { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
namespace PARR.API.Contracts.V1.Responses
|
||||
{
|
||||
public class JobAutoControlResponse
|
||||
public class JobAutoControlBaseResponse
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public Guid ApplicationInWorkId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Создавать новые РР (из настроке РР)
|
||||
/// </summary>
|
||||
@@ -20,6 +16,13 @@
|
||||
/// Активировать РР после смены ЭК (согласно настройкам статусов ЭК)
|
||||
/// </summary>
|
||||
public bool Activate { get; set; }
|
||||
}
|
||||
|
||||
public class JobAutoControlResponse : JobAutoControlBaseResponse
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public Guid ApplicationInWorkId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Состояние для активированных РР, шаблоны
|
||||
@@ -49,12 +52,7 @@
|
||||
/// <summary>
|
||||
/// Статусы ЭК для которых включена генерация РР и активация
|
||||
/// </summary>
|
||||
public List<EkStatusResponse>? EnabledEkStatuses{ get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Краткое описание
|
||||
/// </summary>
|
||||
public required string ShortDescription { get; set; }
|
||||
public List<EkStatusResponse>? EnabledEkStatuses { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Рабочие группы
|
||||
|
||||
@@ -74,7 +74,8 @@ namespace PARR.API.Controllers.V1
|
||||
query = query
|
||||
.Include(t => t.Work)
|
||||
//.Include(t => t.Templates) - большой запрос, делаем его отдельно
|
||||
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup);
|
||||
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
|
||||
.Include(t => t.JobAutoControl);
|
||||
}
|
||||
|
||||
query = query.OrderBy(t => t.ShortDescription).ThenBy(t => t.Application!.Name);
|
||||
@@ -123,6 +124,7 @@ namespace PARR.API.Controllers.V1
|
||||
.Include(t => t.Work)
|
||||
//.Include(t => t.Templates)
|
||||
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
|
||||
.Include(t => t.JobAutoControl)
|
||||
.FirstOrDefaultAsync(t => t.Id == id);
|
||||
|
||||
if (applicationInWork == null)
|
||||
@@ -206,6 +208,7 @@ namespace PARR.API.Controllers.V1
|
||||
.Include(t => t.Work)
|
||||
//.Include(t => t.Templates)
|
||||
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
|
||||
.Include(t => t.JobAutoControl)
|
||||
.FirstAsync(t => t.Id == applicationInWork.Id);
|
||||
|
||||
var locationUri = uriService.GetUri(ApiRoutes.Job.Get, ApiRoutes.Job.getParam, createdApplicationInWork.Id);
|
||||
@@ -320,6 +323,7 @@ namespace PARR.API.Controllers.V1
|
||||
.Include(t => t.Work)
|
||||
//.Include(t => t.Templates)
|
||||
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
|
||||
.Include(t => t.JobAutoControl)
|
||||
.FirstAsync(t => t.Id == orig.Id);
|
||||
|
||||
var response = mapper.Map<ApplicationInWorkResponse>(updatedApplicationInWork);
|
||||
|
||||
@@ -271,16 +271,19 @@ namespace PARR.API.MappingProfiles
|
||||
.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.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 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.ShortDescription, o => o.MapFrom(s => s.ApplicationsInWork.ShortDescription))
|
||||
.ForMember(d => d.WorkGroups, o => o.MapFrom(s => s.ApplicationsInWork.WorkGroups.Select(t => t.WorkGroup).OrderBy(t => t.Name)));
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user