diff --git a/PARR.API/Contracts/V1/Responses/EsppScheduleResponse.cs b/PARR.API/Contracts/V1/Responses/EsppScheduleResponse.cs index d665e970..3d2a1d70 100644 --- a/PARR.API/Contracts/V1/Responses/EsppScheduleResponse.cs +++ b/PARR.API/Contracts/V1/Responses/EsppScheduleResponse.cs @@ -3,6 +3,12 @@ // Вот это тот самый респонс public class EsppScheduleResponse { + public DateTimeOffset NextRun { get; set; } + + public DateTimeOffset? LastRun { get; set; } + + public string Timezone { get; set; } = string.Empty; + public EsppScheduleTypeScheduleResponse? TypeSchedule { get; set; } public List? Values { get; set; } diff --git a/PARR.API/Contracts/V1/Responses/RobotTaskScheduleResponse.cs b/PARR.API/Contracts/V1/Responses/RobotTaskScheduleResponse.cs index 97a414b5..5ad23fcd 100644 --- a/PARR.API/Contracts/V1/Responses/RobotTaskScheduleResponse.cs +++ b/PARR.API/Contracts/V1/Responses/RobotTaskScheduleResponse.cs @@ -38,7 +38,7 @@ public required string NextStart { get; set; } /// - /// Тип задания: ругелярно, еженедельно... + /// Тип задания: Регулярно, еженедельно... /// public required string ScheduleType { get; set; } diff --git a/PARR.API/Controllers/V1/RobotTaskController.cs b/PARR.API/Controllers/V1/RobotTaskController.cs index ccdd2d17..cf460ed2 100644 --- a/PARR.API/Controllers/V1/RobotTaskController.cs +++ b/PARR.API/Controllers/V1/RobotTaskController.cs @@ -123,7 +123,9 @@ namespace PARR.API.Controllers.V1 await UpdateLastNextRunDate(task); //RobotTaskScheduleResponse - return Ok(new Response(mapper.Map(task), true)); + var response = mapper.Map(task); + + return Ok(new Response(response, true)); default: break; } diff --git a/PARR.API/MappingProfiles/Resolvers/TemplateScheduleResolver.cs b/PARR.API/MappingProfiles/Resolvers/TemplateScheduleResolver.cs index 318da785..9b4f1458 100644 --- a/PARR.API/MappingProfiles/Resolvers/TemplateScheduleResolver.cs +++ b/PARR.API/MappingProfiles/Resolvers/TemplateScheduleResolver.cs @@ -1,5 +1,6 @@ using AutoMapper; using PARR.API.Contracts.V1.Responses; +using PARR.DAL.Contracts; using PARR.DAL.Models; using PARR.DAL.Services.Interfaces; @@ -10,16 +11,19 @@ namespace PARR.API.MappingProfiles.Resolvers private readonly IEsppSchTypeConfigService esppConfigService; private readonly ILogger logger; private readonly IMapper mapper; + private readonly SettingsFromDb settingsFromDb; public TemplateScheduleResolver( IEsppSchTypeConfigService esppConfigService, ILogger logger, - IMapper mapper + IMapper mapper, + SettingsFromDb settingsFromDb ) { this.esppConfigService = esppConfigService; this.logger = logger; this.mapper = mapper; + this.settingsFromDb = settingsFromDb; } public EsppScheduleResponse? Resolve(Template source, TemplateResponse destination, EsppScheduleResponse? destMember, ResolutionContext context) @@ -34,6 +38,9 @@ namespace PARR.API.MappingProfiles.Resolvers var response = new EsppScheduleResponse { + NextRun = source.ApplicationsInWork!.NextRun, + LastRun = source.ApplicationsInWork.LastRun, + Timezone = settingsFromDb.ScheduleTimezone, TypeSchedule = mapper.Map(schedule.TypeSchedule), Values = mapper.Map>(schedule.Values).OrderBy(t => t.Order).ToList() }; diff --git a/PARR.DAL/TransformServices/EsppScheduleTransformService.cs b/PARR.DAL/TransformServices/EsppScheduleTransformService.cs index 92d8ad59..e21a65e3 100644 --- a/PARR.DAL/TransformServices/EsppScheduleTransformService.cs +++ b/PARR.DAL/TransformServices/EsppScheduleTransformService.cs @@ -124,7 +124,10 @@ namespace PARR.DAL.TransformServices public async Task> GetNextScheduleAsync(Guid applicationInWorkId, DateTimeOffset lastRun) { - return GetNextSchedule(await GetEsppSchedule(applicationInWorkId), lastRun); + var esppSchedule = await GetEsppSchedule(applicationInWorkId); + var nextSchedule = GetNextSchedule(esppSchedule, lastRun); + + return nextSchedule; }