コード例 #1
0
        public async Task <int> AddTaskHeadSubTasks(Guid userId, Guid companyId, int TaskHeadId,
                                                    double timeLimit)
        {
            var TaskHead = await _TaskHeadService.GetById(companyId, TaskHeadId);

            var newTaskHead = new UserTaskHead()
            {
                TaskHeadId        = TaskHead.Id,
                UserId            = userId,
                CreatedDt         = DateTime.UtcNow,
                TaskDurationLimit = timeLimit
            };

            _repository.Add(newTaskHead);
            await _repository.SaveChanges();

            foreach (var SubTask in TaskHead.SubTasks)
            {
                var newSubTask = new UserSubTask()
                {
                    UserTaskHeadId = newTaskHead.Id,
                    UserId         = userId,
                    SubTaskId      = SubTask.Id,
                    CreatedDt      = DateTime.UtcNow
                };

                _repository.Add(newSubTask);
            }

            await _repository.SaveChanges();

            return(newTaskHead.Id);
        }
コード例 #2
0
        private async Task <int> GetNextOrder(Guid companyId, int TaskHeadId)
        {
            var TaskHead = await _TaskHeadService.GetById(companyId, TaskHeadId);

            var lastSubTask = TaskHead.SubTasks.LastOrDefault();

            return(lastSubTask?.Order + 1 ?? 0);
        }