diff --git a/PARR.API/Contracts/V1/Responses/AgentHistoryResponse.cs b/PARR.API/Contracts/V1/Responses/AgentHistoryResponse.cs index 6be3bfe8..e040eea0 100644 --- a/PARR.API/Contracts/V1/Responses/AgentHistoryResponse.cs +++ b/PARR.API/Contracts/V1/Responses/AgentHistoryResponse.cs @@ -10,6 +10,8 @@ public Guid TemplateId { get; set; } + public string? TemplateName { get; set; } + public AgentHistoryLevelResponse? Level { get; set; } } } diff --git a/PARR.API/Controllers/V1/AgentHistoryController.cs b/PARR.API/Controllers/V1/AgentHistoryController.cs index 518381f7..4bfeb0e4 100644 --- a/PARR.API/Controllers/V1/AgentHistoryController.cs +++ b/PARR.API/Controllers/V1/AgentHistoryController.cs @@ -62,7 +62,8 @@ namespace PARR.API.Controllers.V1 var paginationFilter = mapper.Map(paginationQuery); IQueryable query = agentHistoryService.Get() - .Include(t => t.AgentHistoryLevel); + .Include(t => t.AgentHistoryLevel) + .Include(t => t.Template); if (request.TemplateId.HasValue) query = query.Where(t => t.TemplateId == request.TemplateId); @@ -88,7 +89,10 @@ namespace PARR.API.Controllers.V1 [HttpGet(ApiRoutes.AgentHistory.Get)] public async Task GetById([FromRoute] Guid id) { - var history = await agentHistoryService.Get().Include(t => t.AgentHistoryLevel).FirstAsync(t => t.Id == id); + var history = await agentHistoryService.Get() + .Include(t => t.AgentHistoryLevel) + .Include(t => t.Template) + .FirstOrDefaultAsync(t => t.Id == id); if (history == null) return NotFound(); @@ -137,7 +141,7 @@ namespace PARR.API.Controllers.V1 if (!await agentHistoryService.CreateAsync(agentJournal) || !await agentHistoryService.CommitAsync()) return BadRequest(new Response(false, new List { new ErrorModel { Message = "Ошибка при добавлении записи в историю работы агента." } })); - var createdObject = await agentHistoryService.Get().Include(t => t.AgentHistoryLevel).FirstAsync(t => t.Id == agentJournal.Id); + var createdObject = await agentHistoryService.Get().Include(t => t.AgentHistoryLevel).Include(t => t.Template).FirstAsync(t => t.Id == agentJournal.Id); var response = mapper.Map(createdObject); var createdUri = uriService.GetUri(ApiRoutes.AgentHistory.Get, ApiRoutes.AgentHistory.getParam, agentJournal.Id); diff --git a/PARR.API/MappingProfiles/DomainToResponseProfile.cs b/PARR.API/MappingProfiles/DomainToResponseProfile.cs index da12a4d8..be0b9300 100644 --- a/PARR.API/MappingProfiles/DomainToResponseProfile.cs +++ b/PARR.API/MappingProfiles/DomainToResponseProfile.cs @@ -12,6 +12,8 @@ namespace PARR.API.MappingProfiles { public DomainToResponseProfile() { + #region Template + // --- Template --- CreateMap() .ForMember(d => d.Work, o => o.MapFrom(s => s.ApplicationsInWork!.Work)) @@ -33,6 +35,8 @@ namespace PARR.API.MappingProfiles .ForMember(d => d.LastRun, o => o.MapFrom(s => s.ApplicationsInWork!.LastRun)); // === Template === + #endregion + CreateMap(); CreateMap() @@ -55,6 +59,8 @@ namespace PARR.API.MappingProfiles CreateMap(); + #region Host + // --- Host --- CreateMap() .Include() @@ -68,6 +74,8 @@ namespace PARR.API.MappingProfiles .ForMember(d => d.Applications, o => o.MapFrom(s => s.ApplicationsInHosts.Select(t => t.Application).OrderBy(t => t.Name))); // === Host === + #endregion + CreateMap(); CreateMap(); @@ -81,6 +89,7 @@ namespace PARR.API.MappingProfiles .ForMember(d => d.TemplateName, o => o.MapFrom(s => s.RobotConfiguration!.Template!.Name)); + #region RobotConfiguration // --- RobotConfiguration --- CreateMap() .Include() @@ -132,6 +141,7 @@ namespace PARR.API.MappingProfiles s.Template!.ApplicationsInWork!.EsppSchValues!.First()!.EsppSchTypeConfig!.EsppSchTypeSchedule!.Id)) .ForMember(d => d.Schedule, o => o.MapFrom()); // === RobotConfiguration === + #endregion CreateMap(); @@ -160,7 +170,8 @@ namespace PARR.API.MappingProfiles CreateMap() .ForMember(t => t.Date, o => o.MapFrom(s => s.DateCreated)) - .ForMember(t => t.Level, o => o.MapFrom(s => s.AgentHistoryLevel)); + .ForMember(t => t.Level, o => o.MapFrom(s => s.AgentHistoryLevel)) + .ForMember(t => t.TemplateName, o => o.MapFrom(s => s.Template!.Name)); @@ -176,7 +187,9 @@ namespace PARR.API.MappingProfiles #endregion #region Order + CreateMap(); + #endregion }