Beispiel #1
0
        public async Task <ActionResult <TodoTaskResource> > Put(int id, [FromBody] TodoTaskResource saveTodoTaskResource)
        {
            var validator        = new SaveTodoTaskResourceValidator();
            var validationResult = await validator.ValidateAsync(saveTodoTaskResource);

            var requestIsInvalid = id == 0 || !validationResult.IsValid;

            if (requestIsInvalid)
            {
                return(BadRequest(validationResult.Errors));
            }

            var taskTodoToBeUpdate = await _todoTaskService.GetTodoTaskById(id);

            if (taskTodoToBeUpdate == null)
            {
                return(NotFound());
            }

            var todoTask = _mapper.Map <TodoTaskResource, TodoTask>(saveTodoTaskResource);

            todoTask.LastModifiedDate = DateTime.Now;
            await _todoTaskService.UpdateStatusTodoTask(taskTodoToBeUpdate, todoTask);

            var updatedTodoTask = await _todoTaskService.GetTodoTaskById(id);

            var updatedTodoTaskResource = _mapper.Map <TodoTask, TodoTaskResource>(updatedTodoTask);

            return(Ok(updatedTodoTaskResource));
        }