public Response Delete([FromBody] DeleteTodoRequest request) { if (!TryLogin(request)) { return(new Response { Ok = false, Error = "Login ou mot de passe invalide" }); } User user = Database.GetUser(request.Login); bool result = Database.DeleteTodo(user, request.Id); if (result) { return(new Response { Ok = true, }); } return(new Response { Ok = false, Error = "Cet id n'existe pas il me semble" }); }
public IActionResult Delete(DeleteTodoRequest request) { var todos = _todoBusiness.RemoveTodos(request); var response = todos.Select(t => new TodoResponse { Id = t.Id, Description = t.Description }); return(Ok(response)); }
public IEnumerable <TodoModel> RemoveTodos(DeleteTodoRequest request) { if (request.TodosIds == null || !request.TodosIds.Any()) { throw new Exception("Nenhum item informado"); } var deleted = new List <TodoModel>(); foreach (var id in request.TodosIds) { var todo = _context.Todo.Find(id); _context.Todo.Remove(todo); deleted.Add(todo); } _context.SaveChanges(); return(deleted); }
public ValidationResponse DeleteTodo(DeleteTodoRequest 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); } context.Entry(todo).State = EntityState.Deleted; context.SaveChanges(); return(response); }
public ValidationResponse DeleteTodo([FromBody] DeleteTodoRequest request) { return(toDoService.DeleteTodo(request)); }