public Task <CommandResult <User> > Handle(DeleteUserCommand request, CancellationToken cancellationToken) { var response = new CommandResult <User>("Excluído com sucesso", true, null); request.Validate(); if (request.Valid) { var user = _userRepository.GetById(request.Id); if (user != null && user.Id > 0) { if (_userRepository.Delete(user.Id)) { response.ObjetoResposta = user; return(Task.FromResult(response)); } else { response.Sucesso = false; response.Mensagem = "Não foi possível excluir este usuário."; return(Task.FromResult(response)); } response.Notificacoes.AddRange(user.Notifications.Select(x => x.Message).ToList()); } } response.Notificacoes.AddRange(request.Notifications.Select(x => x.Message).ToList()); response.Sucesso = false; response.Mensagem = "Não foi possível excluir o usuário."; return(Task.FromResult(response)); }
public async Task <ICommandResult> Handle(DeleteUserCommand command) { //validar command command.Validate(); if (command.Invalid) { return(new GenericCommandResult(false, "Ops, algo errado aconteceu!", command.Notifications)); } //GetUser var user = await _repository.GetUser(command.Id, command.Email); if (user == null) { return(new GenericCommandResult(false, "Usuário não encontrado", null)); } _ = _repository.Delete(user); //Retorna valores return(new GenericCommandResult(true, $"O usuário {user.Name} foi deletado com sucesso", null)); }
public ICommandResult Handle(DeleteUserCommand command) { // Fail Fast Validation command.Validate(); if (command.Invalid) { return(new GenericCommandResult(false, "Não foi possível deletar o usuário!", command.Notifications)); } var user = _userRepository.GetById(command.Id); if (user != null) { _userRepository.Delete(user); } else { return(new GenericCommandResult(false, "Não foi possível deletar o usuário, id inexistente!", command.Notifications)); } // Retorna o resultado return(new GenericCommandResult(true, "Usuário excluído", command.Notifications)); }