public async Task <RespostaCommand> ExcluirPessoaAsync(Guid id)
        {
            try
            {
                await UnitOfWork.BeginTransactionAsync();

                var cmd       = new ExcluirPessoaCommand(id);
                var resultado = await mediator.Send(cmd);

                if (!resultado.IsValid)
                {
                    await UnitOfWork.RollBackAsync();

                    return(resultado);
                }

                await UnitOfWork.CommitAsync();

                return(resultado);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public IActionResult Delete(string id)
        {
            Guid _id = Guid.Empty;

            Guid.TryParse(id, out _id);
            var command = new ExcluirPessoaCommand(_id);

            _mediator.EnviarComando(command);

            return(Response(command));
        }
        public Task <bool> Handle(ExcluirPessoaCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.FromResult(false));
            }

            _pessoaRepository.Excluir(message.Id);

            if (Commit())
            {
                Bus.RaiseEvent(new PessoaExcluidaEvent(message.Id));
            }

            return(Task.FromResult(true));
        }
        public void Handle(ExcluirPessoaCommand message)
        {
            var pessoaAtual = PessoaExistente(message.Id, message.MessageType);

            if (pessoaAtual == null)
            {
                return;
            }

            // Validacoes de negocio

            _pessoaRepository.Remover(pessoaAtual);

            if (Commit())
            {
                // TODO:
                // Tarefas por salvar
            }
        }
Example #5
0
        public void Excluir(Guid id)
        {
            var command = new ExcluirPessoaCommand(id);

            _bus.SendCommand(command);
        }