namespace PARR.API.MappingProfiles.Resolvers { //public class RobotTaskScheduleNextStartResolver : IValueResolver //{ // private readonly SettingsFromDb settingsFromDb; // private readonly INextRunModifierService nextRunModifierService; // private readonly IScheduleResponseAreaTimeOffsetService scheduleResponseAreaTimeOffsetService; // public RobotTaskScheduleNextStartResolver( // SettingsFromDb settingsFromDb, // INextRunModifierService nextRunModifierService, // IScheduleResponseAreaTimeOffsetService scheduleResponseAreaTimeOffsetService // ) // { // this.settingsFromDb = settingsFromDb; // this.nextRunModifierService = nextRunModifierService; // this.scheduleResponseAreaTimeOffsetService = scheduleResponseAreaTimeOffsetService; // } // public string Resolve(RobotConfiguration source, RobotTaskScheduleResponse destination, string destMember, ResolutionContext context) // { // var nextRunForRobot = nextRunModifierService.GetNextRunByAccountRobotTimeZone(source.Template!.NextRun); // // Сначала прибавляем офсет УЗ ЕСПП // // потом прибаляем = офсет УЗ ЕСПП - offset ЗО // // если включен - IsWorkGroupTimezone - группировка по таймозне группы, применяем тайм зону группы // if (source.Template?.Job?.Group?.IsWorkGroupTimezone == true) // { // var responseArea = "TODO"; // var esppOffset = new TimeSpan(settingsFromDb.EsppRobotAccountTimeZoneHour, 0, 0); // var workGroupOffset = scheduleResponseAreaTimeOffsetService.GetByResponseAreaOrDefault(responseArea).UtcTimeOffset; // var resultOffset = esppOffset - workGroupOffset; // nextRunForRobot = nextRunForRobot.Add(resultOffset); // } // return EsppScheduleHelpers.GetNextRun(nextRunForRobot); // } //} }