public ConfirmationResponse Execute(AuthorizedIdRequest request)
        {
            request.ThrowExceptionIfInvalid();

            var workTask = _workTaskRepository.Read(request.Id);
            var backlog  = _projectRepository.ReadProductBacklog(workTask.ProjectId);

            var taskInBacklog = backlog.FirstOrDefault(x => x.WorkTaskId == workTask.Id);

            if (taskInBacklog != null)
            {
                foreach (var s in workTask.ChildTasks)
                {
                    if (!backlog.IsTaskInBacklog(s))
                    {
                        backlog.AddTaskToBacklog(new ProductBacklog.WorkTaskWithStatus(s, taskInBacklog.Status));
                    }
                }

                backlog.RemoveTaskFromBacklog(workTask.Id);
            }

            _projectRepository.UpdateProductBacklog(backlog);
            _workTaskRepository.Delete(workTask.Id);

            return(new ConfirmationResponse($"WorkTask {workTask.Name} successfully deleted.")
            {
                Id = workTask.Id,
            });
        }
Beispiel #2
0
        public void Delete(Identity <WorkTask> workTaskId)
        {
            // todo: transaction

            _TaskRepository.Delete(workTaskId);
            _WorkingTimeRangeRepository.RemoveByTaskId(workTaskId);
        }
Beispiel #3
0
 public void Delete(Identity <WorkTask> workTaskId)
 {
     _TaskRepository.Delete(workTaskId);
     _WorkingTimeRangeRepository.RemoveByTaskId(workTaskId);
 }