示例#1
0
        public ActionResult PatchTaskList(long id, JsonPatchDocument <TaskListUpdateDto> jsonPatchDocument)
        {
            _logger.LogInformation("Consultando a lista de tarefas de Id: {id}", id);
            TaskList taskList = _taskListsRepo.GetTaskListById(id);

            if (taskList == null)
            {
                _logger.LogWarning("A lista de tarefas de Id: {id} não existe", id);
                return(NotFound());
            }

            _logger.LogInformation("Aplicando a alteração na classe de DTO");
            TaskListUpdateDto taskListUpdateDto = _mapper.Map <TaskListUpdateDto>(taskList);

            jsonPatchDocument.ApplyTo(taskListUpdateDto, ModelState);

            _logger.LogInformation("Validando a alteração feita na classe de DTO");
            if (!TryValidateModel(taskListUpdateDto))
            {
                return(ValidationProblem(ModelState));
            }

            _logger.LogInformation("Alterando a lista de tarefas de Id: {id}", id);
            _mapper.Map(taskListUpdateDto, taskList);
            _taskListsRepo.SaveChanges();

            return(NoContent());
        }
示例#2
0
        public void PutTaskList_ExistingIdPassed_ReturnsNoContent()
        {
            _mockTaskListsRepo.Setup(r => r.GetTaskListById(It.IsAny <long>())).Returns(new TaskList());

            TaskListUpdateDto taskListUpdateDto = new TaskListUpdateDto()
            {
                Name = "Lista do Daniel"
            };

            var noContentResult = _controller.PutTaskList(5, taskListUpdateDto);

            Assert.IsType <NoContentResult>(noContentResult);
        }
示例#3
0
        public void PutTaskList_UnknownIdPassed_ReturnsNotFound()
        {
            _mockTaskListsRepo.Setup(r => r.GetTaskListById(It.IsAny <long>())).Returns((TaskList)null);

            TaskListUpdateDto taskListUpdateDto = new TaskListUpdateDto()
            {
                Name = "Lista do Daniel"
            };

            var notFoundResult = _controller.PutTaskList(5, taskListUpdateDto);

            Assert.IsType <NotFoundResult>(notFoundResult);
        }
        public async Task <ActionResult <TaskListDto> > CreateAsync([FromBody][Required] TaskListUpdateDto taskListUpdateDto, CancellationToken token)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            string userId = User.FindFirst(JwtRegisteredClaimNames.Sub).Value;

            TaskList addedList = await _taskListService.AddAsync(new TaskList { Name = taskListUpdateDto.Name, UserId = userId }, token);

            TaskListDto addedListDto = _mapper.MapToDto(addedList);

            return(CreatedAtAction(nameof(GetByIdAsync), new { id = addedListDto.Id }, addedListDto));
        }
示例#5
0
        public ActionResult PutTaskList(long id, TaskListUpdateDto taskListUpdateDto)
        {
            _logger.LogInformation("Consultando a lista de tarefas de Id: {id}", id);
            TaskList taskList = _taskListsRepo.GetTaskListById(id);

            if (taskList == null)
            {
                _logger.LogWarning("A lista de tarefas de Id: {id} não existe", id);
                return(NotFound());
            }

            _logger.LogInformation("Editando a lista de tarefas de Id: {id}", id);
            _mapper.Map(taskListUpdateDto, taskList);
            _taskListsRepo.SaveChanges();

            return(NoContent());
        }
        public async Task <ActionResult> UpdateAsync([Range(1, int.MaxValue)] int id, [FromBody] TaskListUpdateDto updateDto, CancellationToken token)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            await _taskListService.UpdateNameAsync(id, updateDto.Name, token);

            return(NoContent());
        }