diff --git a/PARR.EsppScheduleSync/ScheduleSyncher.cs b/PARR.EsppScheduleSync/ScheduleSyncher.cs index c3024861..a9d66ea4 100644 --- a/PARR.EsppScheduleSync/ScheduleSyncher.cs +++ b/PARR.EsppScheduleSync/ScheduleSyncher.cs @@ -5,10 +5,10 @@ using PARR.BLL.Services.Interfaces; using PARR.DAL.Contracts; using PARR.DAL.Models; using PARR.DAL.Services.Interfaces; +using PARR.DAL.TransformServices; using PARR.EsppScheduleSync.Domain; using PARR.EsppScheduleSync.Settings; using PARR.EsppSync; -using System.Linq; namespace PARR.EsppScheduleSync { @@ -20,6 +20,7 @@ namespace PARR.EsppScheduleSync private readonly ISyncService syncService; private readonly SettingsFromDb settingsFromDb; private readonly IServiceProvider serviceProvider; + private readonly INextRunModifierService nextRunModifierService; public ScheduleSyncher( ILogger logger, @@ -27,7 +28,8 @@ namespace PARR.EsppScheduleSync IMqService mqService, ISyncService syncService, SettingsFromDb settingsFromDb, - IServiceProvider serviceProvider + IServiceProvider serviceProvider, + INextRunModifierService nextRunModifierService ) { this.logger = logger; @@ -36,6 +38,7 @@ namespace PARR.EsppScheduleSync this.syncService = syncService; this.settingsFromDb = settingsFromDb; this.serviceProvider = serviceProvider; + this.nextRunModifierService = nextRunModifierService; if (globalSettings.MqSettings == null) { logger.LogError("Нет секции настроек хранилища. MqSettings, EsppTemplates"); @@ -88,8 +91,8 @@ namespace PARR.EsppScheduleSync WorkGroup = template.Host!.WorkGroup!.Name, //Мы решили, что для всех расписаний "Нет исключений", если что-то поменяется, тут нужно переделать TypeV60calendar = settingsFromDb.ScheduleExclude == "Нет исключений" ? "NONE" : "", - //Scheduled = EsppScheduleHelpers.GetNextRun(template.ApplicationsInWork!.NextRun), - Scheduled = EsppScheduleHelpers.GetNextRun(template.NextRun), + //Scheduled = EsppScheduleHelpers.GetNextRun(template.NextRun), + Scheduled = EsppScheduleHelpers.GetNextRun(nextRunModifierService.GetNextRunByAccountRobotTimeZone(template.NextRun)), Timezone = settingsFromDb.ScheduleTimezone, //Мы решили, что для всех расписаний "Отсутствует дата завершения", если что-то поменяется, тут нужно переделать TerminationType = settingsFromDb.ScheduleRepeatRange == "Отсутствует дата завершения" ? "forever" : "", @@ -142,7 +145,9 @@ namespace PARR.EsppScheduleSync //если включено автораспределение, подставляем дату месяца из NextRun if (template.ApplicationsInWork?.IsAutoDistributionEnabled == true) { - esppObject.Dayofmonth = template.NextRun.Day.ToString(); + var nextRunByRobotTimeZone = nextRunModifierService.GetNextRunByAccountRobotTimeZone(template.NextRun); + esppObject.Dayofmonth = nextRunByRobotTimeZone.Day.ToString(); + // esppObject.Dayofmonth = template.NextRun.Day.ToString(); } else {