Ejemplo n.º 1
0
        public TaskCompleteResponse CreateTaskCompleteResponse(Task task)
        {
            var response = new TaskCompleteResponse
            {
                Data = CreateDto(task)
            };

            return(response);
        }
Ejemplo n.º 2
0
        public async Task <TaskCompleteResponse> TaskComplete(TaskCompleteRequest request)
        {
            TaskCompleteResponse response;

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

            if (board != null)
            {
                response = new TaskCompleteResponse {
                    Data = null
                };
                response.Failed(_errorService.GetError(ErrorType.ItemNotFound));

                return(response);
            }

            if (board.CreatedById != request.UserId)
            {
                response = new TaskCompleteResponse {
                    Data = null
                };
                response.Failed(_errorService.GetError(ErrorType.AccessDenied));

                return(response);
            }

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

            if (task == null)
            {
                response = new TaskCompleteResponse {
                    Data = null
                };
                response.Failed(_errorService.GetError(ErrorType.ItemNotFound));

                return(response);
            }

            task.Completed = true;

            await _boardRepository.UpdateAsync(board);

            response = _taskCreator.CreateTaskCompleteResponse(task);
            response.Succeeded();

            return(response);
        }