diff --git a/PARR.API/Contracts/V1/Responses/ApplicationInWorkResponse.cs b/PARR.API/Contracts/V1/Responses/ApplicationInWorkResponse.cs index 29a892a8..fa0e00fc 100644 --- a/PARR.API/Contracts/V1/Responses/ApplicationInWorkResponse.cs +++ b/PARR.API/Contracts/V1/Responses/ApplicationInWorkResponse.cs @@ -47,6 +47,8 @@ public ApplicationInWorkScheduleResponse? Schedule { get; set; } public List? WorkGroups { get; set; } + + public JobAutoControlBaseResponse? AutoControl { get; set; } } diff --git a/PARR.API/Contracts/V1/Responses/JobAutoControlResponse.cs b/PARR.API/Contracts/V1/Responses/JobAutoControlResponse.cs index 90f8eb4e..285321c7 100644 --- a/PARR.API/Contracts/V1/Responses/JobAutoControlResponse.cs +++ b/PARR.API/Contracts/V1/Responses/JobAutoControlResponse.cs @@ -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; } - /// /// Создавать новые РР (из настроке РР) /// @@ -20,6 +16,13 @@ /// Активировать РР после смены ЭК (согласно настройкам статусов ЭК) /// public bool Activate { get; set; } + } + + public class JobAutoControlResponse : JobAutoControlBaseResponse + { + public Guid Id { get; set; } + + public Guid ApplicationInWorkId { get; set; } /// /// Состояние для активированных РР, шаблоны @@ -49,12 +52,7 @@ /// /// Статусы ЭК для которых включена генерация РР и активация /// - public List? EnabledEkStatuses{ get; set; } - - /// - /// Краткое описание - /// - public required string ShortDescription { get; set; } + public List? EnabledEkStatuses { get; set; } /// /// Рабочие группы diff --git a/PARR.API/Controllers/V1/ApplicationInWorkController.cs b/PARR.API/Controllers/V1/ApplicationInWorkController.cs index 4555f6b5..b8e6d26d 100644 --- a/PARR.API/Controllers/V1/ApplicationInWorkController.cs +++ b/PARR.API/Controllers/V1/ApplicationInWorkController.cs @@ -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(updatedApplicationInWork); diff --git a/PARR.API/MappingProfiles/DomainToResponseProfile.cs b/PARR.API/MappingProfiles/DomainToResponseProfile.cs index 6febc3df..b3d44914 100644 --- a/PARR.API/MappingProfiles/DomainToResponseProfile.cs +++ b/PARR.API/MappingProfiles/DomainToResponseProfile.cs @@ -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()) - .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() + .Include(); + CreateMap() .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)));