public Task <Result> ExecuteAsync(NextModifiedYearJob job) { _jobs.Start(job); int i = job.YearsCount; var year = DateTime.Now.Year; while (i > 0) { //Добавляем год year++; foreach (var typ in _dbContext.GetAllPublishedVersions()) { _jobs.Create(new CalculateModifiedYearJob(typ.Id, year)); } i--; } //завершаем задание для корректного логирования _jobs.Finish(job); //и запускаем ее снова для следующей даты _jobs.Create(job, job.NextDate); return(Task.FromResult(Result.Ok())); }
public Task <Result> ExecuteAsync(NextWeekOutputFormsJob job) { _jobs.Start(job); //находим дату с той недели, которую нужно вычислить var date = DateTime.Now.AddDays(7 * job.WeeksForward); foreach (var typ in _dbContext.GetAllPublishedVersions()) { _jobs.Create(new CalculateOutputFormWeekJob(typ.TypiconId, typ.Id, date)); } //завершаем задание для корректного логирования _jobs.Finish(job); //и запускаем ее снова для следующей даты _jobs.Create(job, job.NextDate); return(Task.FromResult(Result.Ok())); }