public async Task <IActionResult> UpdateTodo(TodoUpdateRequest request) { if (!ModelState.IsValid) { return(StatusCode(400)); } var dto = _mapper.Map <TodoUpdateDTO>(request); dto.UpdatedOn = DateTime.Now; if (await _manager.UpdateTodo(dto)) { return(StatusCode(202)); } throw new Exception(); }
public async Task <IActionResult> Update(Guid id, TodoUpdateRequest updatedTodo) { if (updatedTodo == null || !ModelState.IsValid) { return(BadRequest(new ProblemDetail { ErrorCode = -2, ErrorMessage = "Payload is invalid", TraceId = Guid.NewGuid() })); } var updatingTodo = await context.Todos.AsNoTracking().FirstOrDefaultAsync(w => w.Id == id); if (updatingTodo == null) { return(NotFound(new ProblemDetail { ErrorCode = -3, ErrorMessage = "Trying to write inexisting item", TraceId = Guid.NewGuid() })); } context.Todos.Update(new Todo { CreatedAt = updatingTodo.CreatedAt, CurrentStatus = updatedTodo.CurrentStatus, Description = updatedTodo.Description, DueDate = updatedTodo.DueDate, Id = updatingTodo.Id, UpdatedAt = DateTime.Now }); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <TodoItem> Put([FromBody] TodoUpdateRequest item) { return(await _todoItemService.Update(_mapper.Map <TodoItem>(item))); }