Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        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)));
        }
Esempio n. 3
0
        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());
            }
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        public async Task <Todo> PutTodo([FromBody] EditTodoRequest edit, [FromRoute] string id)
        {
            var result = await _orchestrator.PutTodo(edit, id);

            return(result);
        }
Esempio n. 9
0
 public static Entities.TodoItemChanges ToDal(this EditTodoRequest value)
 => new Entities.TodoItemChanges()
 {
     Completed = value.Completed
 };
Esempio n. 10
0
        public async Task <Todo> PutTodo(EditTodoRequest edit, Todo newTodo)
        {
            await _todosCollection.ReplaceOneAsync(x => x.TodoId == newTodo.TodoId, newTodo);

            return(await GetTodo(newTodo.TodoId));
        }