public ConsultaPd ComplementarDadosPd(Usuario user, string unidadeGestoraLiquidante = "", string gestaoLiquidante = "", string unidadeGestora = "", string NumeroPD = "", int agrupamento = 0, TIPO_CONSULTA_PD origem = TIPO_CONSULTA_PD.CONSULTAR, string dsNumOB = "")
        {
            if (origem == TIPO_CONSULTA_PD.ADICIONAR && ExecucaoPDExiste(NumeroPD, agrupamento))
            {
                throw new SidsException("A Execução da PD já existe em outro agrupamento.");
            }

            var dadosUsuarioSiafem = _siafem.ConsultarUsuarioHomologacaoProducao(user.CPF, user.Senha, true);

            USUARIO = dadosUsuarioSiafem.usuario;
            SENHA   = dadosUsuarioSiafem.senha;

            var data = new ConsultaPd();

            if (dsNumOB == "" || dsNumOB == null)
            {
                data = _siafem.ConsultaPD(USUARIO, Decrypt(SENHA), unidadeGestoraLiquidante, gestaoLiquidante, unidadeGestora, NumeroPD);
            }

            var dataSids = SelecionarDadosApoio(1, NumeroPD);

            if (dataSids != null)
            {
                data.NumeroAgrupamentoProgramacaoDesembolso = dataSids.NumeroAgrupamento;
                data.NumeroContrato                 = dataSids?.NumeroContrato;
                data.NumeroDocumentoGerador         = dataSids?.NumeroDocumentoGerador;
                data.IdTipoDocumento                = dataSids.DocumentoTipoId;
                data.NumeroDocumento                = dataSids?.NumeroDocumento;
                data.TransmissaoItemStatusSiafem    = dataSids?.StatusSiafem;
                data.TransmissaoItemMensagemSiafem  = dataSids?.MensagemServicoSiafem;
                data.TransmissaoItemStatusProdesp   = dataSids?.StatusConfirmacaoPagtoProdesp;
                data.TransmissaoItemMensagemProdesp = dataSids?.MensagemConfirmacaoPagtoProdesp;
                data.NumeroCnpjCpfPgto              = dataSids.NumeroCnpjcpfPagto;

                if (data.NumeroDocumentoGerador != null)
                {
                    var numeroOP = ConsultaOP(data.NumeroDocumentoGerador);
                    var partes   = numeroOP.Split(new string[] { "@" }, StringSplitOptions.None);
                    if (partes[0].Any())
                    {
                        data.NumOP = partes[0];
                    }
                    else
                    {
                        data.MensagemRetornoConsultaOP = partes[1];
                    }
                }
            }
            else
            {
                data.MensagemRetornoConsultaOP = "PD não existe na base SIDS";
            }

            return(data);
        }
예제 #2
0
        public ConsultaPd ConsultaPD(Usuario usuario, string unidadegestora, string gestao, string numeroSiafemSiafisco)
        {
            if (AppConfig.WsUrl != "siafemProd")
            {
                usuario = new Usuario {
                    CPF = AppConfig.WsSiafemUser, SenhaSiafem = Encrypt(AppConfig.WsPassword), RegionalId = 1
                }
            }
            ;

            return(_siafemContaUnica.ConsultaPD(usuario.CPF, /*Decrypt(usuario.SenhaSiafem)*/ AppConfig.WsPassword, unidadegestora, numeroSiafemSiafisco));
        }