Example #1
0
        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();
        }
Example #2
0
        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());
        }
Example #3
0
 public async Task <TodoItem> Put([FromBody] TodoUpdateRequest item)
 {
     return(await _todoItemService.Update(_mapper.Map <TodoItem>(item)));
 }