コード例 #1
0
        public TaskUpdateResponse CreateTaskUpdateResponse(Task task)
        {
            var response = new TaskUpdateResponse
            {
                Data = CreateDto(task)
            };

            return(response);
        }
コード例 #2
0
        public async Task <TaskUpdateResponse> TaskUpdate(TaskUpdateRequest request)
        {
            TaskUpdateResponse response;

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

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

                return(response);
            }

            if (board.CreatedById != request.UserId)
            {
                response = new TaskUpdateResponse {
                    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 TaskUpdateResponse {
                    Data = null
                };
                response.Failed(_errorService.GetError(ErrorType.ItemNotFound));

                return(response);
            }

            _taskCreator.UpdateTask(task, request);

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

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

            return(response);
        }
コード例 #3
0
ファイル: TaskUpdate.cs プロジェクト: Nyczuu/Keeper
        public TaskUpdate(TaskUpdateRequest request)
        {
            if (request != null)
            {
                using (var dbContext = new ApplicationDbContext())
                {
                    var task    = dbContext.Tasks.SingleOrDefault(aTask => aTask.Identifier == request.Identifier);
                    var project = dbContext.Projects.SingleOrDefault(aProject => aProject.Identifier == request.ProjectIdentifier);

                    if (task == null)
                    {
                        Response = new TaskUpdateResponse
                        {
                            Type = TaskUpdateResponseType.TaskDoesNotExist
                        };
                        return;
                    }

                    if (project == null)
                    {
                        Response = new TaskUpdateResponse
                        {
                            Type = TaskUpdateResponseType.ProjectDoesNotExist
                        };
                        return;
                    }

                    task.Set(request);
                    dbContext.SaveChanges();
                    Response = new TaskUpdateResponse
                    {
                        Type = TaskUpdateResponseType.Success
                    };
                }
            }
        }