public async Task <IActionResult> Update([FromRoute] int id, [FromBody] EditTodoRequest todoRequest) { var result = await _todoService.UpdateTodoAsync(id, todoRequest); var mapped = _mapper.Map <TodoResponse>(result); return(Ok(new ApiOkResponse(mapped))); }
public async Task <IActionResult> Add([FromBody] EditTodoRequest todoRequest) { var todo = await _todoService.AddTodoAsync(todoRequest); var mapped = _mapper.Map <TodoResponse>(todo); return(Ok(new ApiOkResponse(mapped))); }
public async Task <TodoItem> Update(string id, EditTodoRequest value) { // This operation is idempotent! var result = await elasticClient.UpdateAsync <Entities.TodoItem, Entities.TodoItemChanges>(id, a => a.Doc(value.ToDal()).DocAsUpsert(false)); if (result.Result == Result.Updated) { return(await FindById(result.Id)); } else { return(null); } }
public async Task <ActionResult <TodoItem> > Put(string id, [FromBody] EditTodoRequest value) { var result = await repository.Update(id, value); if (result != null) { await cache.Invalidate(id); return(AcceptedAtAction(nameof(Get), new { id }, result)); } else { return(NotFound()); } }
public async Task <Todo> PutTodo(EditTodoRequest edit, string id) { var originalDoc = await _repository.GetTodo(id); var newDoc = new Todo { ObjectId = originalDoc.ObjectId, Task = edit.Task ?? originalDoc.Task, Date = edit.Date ?? originalDoc.Date, Status = edit.Status ?? originalDoc.Status, TodoId = id }; return(await _repository.PutTodo(edit, newDoc)); }
public async Task <Todo> AddTodoAsync(EditTodoRequest todoRequest) { var todo = new Todo { Name = todoRequest.Name, Description = todoRequest.Description, Priority = todoRequest.Priority }; await _uow.TodoRepository.AddAsync(todo); await _uow.CommitAsync(); Log.Information("New todo added with id " + todo.Id + "."); return(todo); }
public async Task <Todo> UpdateTodoAsync(int todoId, EditTodoRequest todoRequest) { var todo = await _uow.TodoRepository.GetAsync(todoId); if (todo is null) { Log.Error("Todo with id " + todoId + " not found."); throw new CustomNotFoundException(); } todo.Name = todoRequest.Name; todo.Description = todoRequest.Description; todo.Priority = todoRequest.Priority; await _uow.TodoRepository.UpdateAsync(todo, todo.Id); await _uow.CommitAsync(); Log.Information("Todo with id " + todoId + " updated."); return(todo); }
public async Task <Todo> PutTodo([FromBody] EditTodoRequest edit, [FromRoute] string id) { var result = await _orchestrator.PutTodo(edit, id); return(result); }
public static Entities.TodoItemChanges ToDal(this EditTodoRequest value) => new Entities.TodoItemChanges() { Completed = value.Completed };
public async Task <Todo> PutTodo(EditTodoRequest edit, Todo newTodo) { await _todosCollection.ReplaceOneAsync(x => x.TodoId == newTodo.TodoId, newTodo); return(await GetTodo(newTodo.TodoId)); }