Ejemplo n.º 1
0
        private async Task UpdateTodo()
        {
            // Given:
            var client = Factory.CreateClient();

            // And:
            var updateTodoRequest = new UpdateTodoRequest()
            {
                Name      = "Water Plants",
                Completed = true
            };

            // And:
            HttpContent httpContent = new StringContent(
                JsonConvert.SerializeObject(updateTodoRequest),
                Encoding.UTF8,
                "application/json"
                );

            // When:
            var response = await client.PutAsync("/api/Todos/1", httpContent);

            // Then:
            Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
        }
Ejemplo n.º 2
0
 public async Task <IActionResult> Clear(Guid todoId, UpdateTodoRequest request)
 {
     request.Id = todoId;
     return(await Eventor.SendStream <UpdateTodoRequest, UpdateTodoResponse>(
                request,
                x => x.Result));
 }
Ejemplo n.º 3
0
        public async Task <IActionResult> Update([FromRoute] Guid todoId, [FromBody] UpdateTodoRequest request)
        {
            var todo = await _todoService.GetTodoByIdAsync(todoId);

            if (todo == null)
            {
                return(NotFound(todoId));
            }

            if (!string.IsNullOrEmpty(request.Name))
            {
                todo.Name = request.Name;
            }

            todo.IsCompleted = request.IsCompleted;

            var updated = await _todoService.UpdateTodoAsync(todo);

            if (updated)
            {
                return(Ok(_mapper.Map <TodoResponse>(todo)));
            }

            return(NotFound(todoId));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <TodoItemDto> > UpdateTodoAsync([FromBody] UpdateTodoRequest request)
        {
            var res = await _service.UpdateAsync(request);

            if (res == null)
            {
                return(BadRequest());
            }

            return(Ok(res));
        }
Ejemplo n.º 5
0
        public ValidationResponse UpdateTodo(UpdateTodoRequest request)
        {
            ValidationResponse response = new ValidationResponse();

            if (request == null || string.IsNullOrWhiteSpace(request.Username) || string.IsNullOrWhiteSpace(request.Token))
            {
                response.Error = "Need to login";
                return(response);
            }

            User user = context.Users.FirstOrDefault(u => u.Name == request.Username && u.Token == request.Token);

            if (user == null)
            {
                response.Error = "Need to login";
                return(response);
            }

            var todo = context.ToDos.Find(request.Id);

            if (todo == null)
            {
                response.Error = "No such todo";
                return(response);
            }

            context.Entry(todo)
            .Reference(it => it.User)
            .Load();

            if (todo.User.Token != request.Token || todo.User.Name != request.Username)
            {
                response.Error = "This todo belongs to another user";
                return(response);
            }

            todo.Text = request.TodoText;
            context.Entry(todo).State = EntityState.Modified;
            context.SaveChanges();

            return(response);
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> UpdateTodo(long id, UpdateTodoRequest request)
        {
            var todo =
                new Core.Models.Todo()
            {
                Id        = id,
                Name      = request.Name,
                Completed = request.Completed
            };

            try
            {
                await TodoService.UpdateTodoAsync(todo);
            }
            catch (TodoNotFoundException)
            {
                return(NotFound());
            }

            return(NoContent());
        }
Ejemplo n.º 7
0
        public Response <Todo> Edit([FromBody] UpdateTodoRequest request)
        {
            if (!TryLogin(request))
            {
                return(new Response <Todo>
                {
                    Ok = false,
                    Error = "Login ou mot de passe invalide"
                });
            }
            User user = Database.GetUser(request.Login);

            if (string.IsNullOrEmpty(request.Title) || string.IsNullOrEmpty(request.Description))
            {
                return(new Response <Todo>
                {
                    Ok = false,
                    Error = "Champs Title ou Description vide"
                });
            }

            Todo newTodo = Database.UpdateTodo(user, request.Id, request.Title, request.Description);

            if (newTodo != null)
            {
                return(new Response <Todo>
                {
                    Ok = true,
                    Resource = newTodo
                });
            }
            return(new Response <Todo>
            {
                Ok = false,
                Error = "Cet id n'existe pas il me semble"
            });
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> UpdateTodo(Guid id, [FromBody] UpdateTodoRequest updateTodoRequest)
        {
            try
            {
                _logger.LogInformation($"Updating exisitng to-do with id: {id.ToString()}");

                var todo = await _todoRepository.GetItemAsync(id.ToString());

                todo.Name        = updateTodoRequest.Name;
                todo.Description = updateTodoRequest.Description;
                todo.IsComplete  = updateTodoRequest.IsComplete;

                await _todoRepository.UpdateItemAsync(id.ToString(), todo);

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Exception caught!");
                return(BadRequest(new ApiResult {
                    Error = "An error has occured"
                }));
            }
        }
Ejemplo n.º 9
0
        public async Task <TodoItemDto> UpdateAsync(UpdateTodoRequest request)
        {
            try
            {
                var itemToUpdate = await _context.Todos
                                   .FirstOrDefaultAsync(x => x.Id == request.Id);

                if (itemToUpdate is null)
                {
                    return(null);
                }

                itemToUpdate.Content = request.Content;
                itemToUpdate.IsDone  = request.IsDone;

                _context.Todos.Update(itemToUpdate);
                var saved = await _context.SaveChangesAsync() > 0;

                if (!saved)
                {
                    return(null);
                }

                return(new TodoItemDto
                {
                    Id = itemToUpdate.Id,
                    Content = itemToUpdate.Content,
                    IsDone = itemToUpdate.IsDone,
                });
            }
            catch (Exception ex)
            {
                Console.WriteLine($"[ERR] {ex.Message}");
                return(null);
            }
        }
Ejemplo n.º 10
0
 public ValidationResponse UpdateTodo([FromBody] UpdateTodoRequest request)
 {
     return(toDoService.UpdateTodo(request));
 }
Ejemplo n.º 11
0
        public async Task <ActionResult> Update([FromBody] UpdateTodoRequest request)
        {
            await _mediator.Send(request);

            return(NoContent());
        }