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)); }
public UsuarioPessoaExternaMutation(InserirPessoaExternaCommand inserirCommand, AlterarPessoaExternaCommand alterarCommand, ExcluirPessoaExternaCommand excluirCommand, PessoaExternaHandler handler) { _inserirCommand = inserirCommand; _alterarCommand = alterarCommand; _excluirCommand = excluirCommand; _handler = handler; }
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)); }