public Result <FilteredOutputDay> GetDay(int typiconId, DateTime date, string language, HandlingMode handlingMode = HandlingMode.AstronomicDay) { date = date.Date; var scheduleDay = _dbContext.GetScheduleDay(typiconId, date, _serializer); //нашли сформированный день if (scheduleDay.Success) { return(Result.Ok(scheduleDay.Value.Localize(language))); } //добавляем задачу на формирование дня var version = _dbContext.GetPublishedVersion(typiconId); if (version.Failure) { return(Result.Fail <LocalizedOutputDay>(version.Error)); } else { //добавляем задание на формирование выходных форм _jobs.Create(new CalculateOutputFormWeekJob(typiconId, version.Value.Id, date)); return(Result.Fail <LocalizedOutputDay>($"Инициировано формирование расписания. Повторите операцию позже.")); } }