Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }