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);
                }
            }
        }
示例#2
0
        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));
        }