public async Task Run([ActivityTrigger] ClearScheduleModel clearScheduleModel, ILogger log) { var pastWeeks = clearScheduleModel.PastWeeks ?? _options.PastWeeks; var futureWeeks = clearScheduleModel.FutureWeeks ?? _options.FutureWeeks; var weeksRange = DateTime.Today .Range(pastWeeks, futureWeeks, _options.StartDayOfWeek); foreach (var week in weeksRange) { await _scheduleCacheService.DeleteScheduleAsync(clearScheduleModel.TeamId, week); } }
public async Task Run([ActivityTrigger] ClearScheduleModel clearScheduleModel, ILogger log) { var weeksRange = clearScheduleModel.StartDate .Range(clearScheduleModel.EndDate, _options.StartDayOfWeek); foreach (var week in weeksRange) { if (clearScheduleModel.ClearShifts) { await _scheduleCacheService.DeleteScheduleAsync(clearScheduleModel.TeamId, week).ConfigureAwait(false); } if (_featureOptions.EnableOpenShiftSync && clearScheduleModel.ClearOpenShifts) { await _scheduleCacheService.DeleteScheduleAsync(clearScheduleModel.TeamId + ApplicationConstants.OpenShiftsSuffix, week).ConfigureAwait(false); } if (_featureOptions.EnableTimeOffSync && clearScheduleModel.ClearTimeOff) { await _timeOffCacheService.DeleteTimeOffAsync(clearScheduleModel.TeamId, week).ConfigureAwait(false); } } }