Exemple #1
0
        public TaskDeleteResponse CreateTaskDeleteResponse(Guid id)
        {
            var response = new TaskDeleteResponse
            {
                Id = id
            };

            return(response);
        }
Exemple #2
0
        public TaskDelete(TaskDeleteRequest request)
        {
            if (request != null && request.Identifiers != null && request.Identifiers.Any())
            {
                using (var dbContext = new ApplicationDbContext())
                {
                    var tasksToDelete = dbContext.Tasks.Where(aTask
                                                              => request.Identifiers.Contains(aTask.Identifier));

                    dbContext.Tasks.RemoveRange(tasksToDelete);
                    dbContext.SaveChanges();
                }

                Response = new TaskDeleteResponse();
            }
        }
Exemple #3
0
        public async Task <TaskDeleteResponse> TaskDelete(TaskDeleteRequest request)
        {
            TaskDeleteResponse response;

            var board = await _boardRepository.GetAsync(request.BoardId);

            if (board == null)
            {
                response = new TaskDeleteResponse {
                    Id = Guid.Empty
                };
                response.Failed(_errorService.GetError(ErrorType.ItemNotFound));

                return(response);
            }

            if (board.CreatedById != request.UserId)
            {
                response = new TaskDeleteResponse {
                    Id = Guid.Empty
                };
                response.Failed(_errorService.GetError(ErrorType.AccessDenied));

                return(response);
            }

            var task = board.Tasks.Single(t => t.Id == request.Id);

            if (task == null)
            {
                response = new TaskDeleteResponse {
                    Id = Guid.Empty
                };
                response.Failed(_errorService.GetError(ErrorType.ItemNotFound));

                return(response);
            }

            await _boardRepository.RemoveTaskAsync(board.Id, task.Id);

            response = _taskCreator.CreateTaskDeleteResponse(request.Id);
            response.Succeeded();

            return(response);
        }