public async Task CopyPreviousWeekTime(int employeeId, int id) { var prev = WeekDTO.CreateForWeekId(id).Previous(); var timeEntries = await _timeService.GetAsync(prev.WeekId.Value, employeeId); foreach (var entry in timeEntries.GroupBy(x => new { x.JobId, x.JobTaskId })) { var entryForEveryDayOfWeek = _timeSpentRepository.CreateEmptyWeekForCombo(id, entry.Key.JobTaskId, entry.Key.JobId, employeeId);; foreach (var day in entryForEveryDayOfWeek) { await _timeService.SaveAsync(employeeId, day); } } }
public async Task <Result> AddNewJobTaskCombo(int employeeId, int weekId, int newTaskId, int newJobId) { var j = await _jobsRepository.GetForJobId(newJobId); if (j.CoreInfo.JobStatusId != JobStatus.Enabled) { return(new Result(false, new[] { $"Job {j.CoreInfo.FullJobCodeWithName} has been closed. In order to use it, an administrator must open it." })); } var entryForEveryDayOfWeek = _timeSpentRepository.CreateEmptyWeekForCombo(weekId, newTaskId, newJobId, employeeId).ToList(); foreach (var day in entryForEveryDayOfWeek) { await _timeService.SaveAsync(employeeId, day); } return(new Result(true)); }