Example #1
0
 public GenericCommandResult Update(
     //[FromBody] Sessao sessao,
     [FromBody] AlterarPessoaExternaCommand command,
     [FromServices] PessoaExternaHandler handler)
 {
     //command.sessao = User.Claims.FirstOrDefault(X500DistinguishedName => X500DistinguishedName.Type == "user_id")?.Value;
     return((GenericCommandResult)handler.Handle(command));
 }
Example #2
0
 public UsuarioPessoaExternaMutation(InserirPessoaExternaCommand inserirCommand,
                                     AlterarPessoaExternaCommand alterarCommand,
                                     ExcluirPessoaExternaCommand excluirCommand,
                                     PessoaExternaHandler handler)
 {
     _inserirCommand = inserirCommand;
     _alterarCommand = alterarCommand;
     _excluirCommand = excluirCommand;
     _handler        = handler;
 }
Example #3
0
        public ICommandResult Handle(AlterarPessoaExternaCommand command)
        {
            //Fail Fast Validations
            command.Validate();
            if (command.Invalid)
            {
                AddNotifications(command);
                return(new GenericCommandResult(false, "Não foi possivel alterar o cadastro", MensagemTipo.ADVERTENCIA, command.Notifications));
            }

            //Verificar se documento esta cadastrado
            NcPessoaExterna pessoa = _repository.ObterPorDocumentoTipo(command.DocumentoNumero, command.PessoaDocTipo);

            if (pessoa != null && pessoa.Id > 0 && command.Id != pessoa.Id)
            {
                //AddNotification("Documento", "Este documento já está em uso");
                return(new GenericCommandResult(false, "Este documento já está em uso", MensagemTipo.ADVERTENCIA, null));
            }

            //Checar as notificações
            if (Invalid)
            {
                return(new GenericCommandResult(false, "Não foi possível alterar o cadastro", MensagemTipo.ADVERTENCIA, null));
            }

            //Obtem o cadastro pelo id
            pessoa = _repository.ObterPorId(command.Id);

            if (pessoa == null)
            {
                return(new GenericCommandResult(false, "Não foi possível alterar o cadastro. Cadastro não localizado", MensagemTipo.ADVERTENCIA, null));
            }
            else
            {
                pessoa.Alterar(
                    command.Nome,
                    command.Grupo,
                    command.TelefoneFixo
                    );
            }

            // Salva no banco
            _repository.Alterar(pessoa);

            // Retorna o resultado
            return(new GenericCommandResult(true, "Cadastro alterado com sucesso", MensagemTipo.ADVERTENCIA, pessoa));
        }