public async Task <IActionResult> PostTodoTask([FromBody] TodoTaskDTO dto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var task = TodoTaskDTO.UpdateDbObjectWithDTO(new TodoTask(), dto); var currentUser = await GetCurrentUserAsync(); task.OwnerId = currentUser.Id; _context.TodoTasks.Add(task); await _context.SaveChangesAsync(); return(CreatedAtAction("GetTodoTask", new { id = task.Id }, task)); }
public async Task <IActionResult> PutTodoTask([FromRoute] int id, [FromBody] TodoTaskDTO dto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != dto.Id) { return(BadRequest()); } var task = await _context.TodoTasks.SingleOrDefaultAsync(x => x.Id == dto.Id); await EnsureAuthorizedAccessAsync(task); task = TodoTaskDTO.UpdateDbObjectWithDTO(task, dto); _context.Entry(task).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TodoTaskExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }