Exemple #1
0
        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));
 }