示例#1
0
        public DUA ObterDUA(string numeroDUA, string cpfCnpj, eTipoPessoa tipoPessoa = 0)
        {
            try
            {
                string duaSenhaCertificado = _configSys.Obter <String>(ConfiguracaoSistema.KeyDUASenhaCertificado);

                var duaService = new DuaEService(_arquivoCertificado, duaSenhaCertificado);

                if (tipoPessoa == 0)
                {
                    tipoPessoa = cpfCnpj.Contains("/") ? eTipoPessoa.Juridica : eTipoPessoa.Fisica;
                }

                var resultado = duaService.ConsultarDua(numeroDUA, cpfCnpj.Replace(".", "").Replace("-", "").Replace("/", ""), tipoPessoa);

                var xser = new XmlSerializer(typeof(RespostaConsultaDua));

                var xml = (RespostaConsultaDua)xser.Deserialize(new StringReader(resultado));

                if (xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua == null)
                {
                    Validacao.Add(Mensagem.PTV.ErroSefaz(xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.XMotivo));
                    Log.Error($"DUA: {numeroDUA} - CPF/CNPJ: {cpfCnpj}", new Exception(xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.XMotivo));
                    return(null);
                }

                DUA retorno = new DUA();

                retorno.OrgaoSigla       = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Orgao.XSigla;
                retorno.ServicoCodigo    = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Area.CArea;
                retorno.ReferenciaData   = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Data.DRef;
                retorno.CPF              = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Contri.Cpf;
                retorno.CNPJ             = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Contri.Cnpj;
                retorno.ReceitaValor     = (float)xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Rece.VRece;
                retorno.PagamentoCodigo  = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Pgto.CPgto;
                retorno.ValorTotal       = (float)xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Valor.VTot;
                retorno.CodigoServicoRef = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Serv.CServ;

                return(retorno);
            }
            catch (Exception exc)
            {
                Validacao.Add(Mensagem.PTV.ErroAoConsultarDua);
                Log.Error($"DUA: {numeroDUA} - CPF/CNPJ: {cpfCnpj}", exc);
            }

            return(null);
        }
示例#2
0
        public DUA ObterDUAPJ(string DUANumero, string DUACNPJ)
        {
            try
            {
                string duaSenhaCertificado = _configSys.Obter <String>(ConfiguracaoSistema.KeyDUASenhaCertificado);

                //var duaService = new DuaEService(HttpContext.Current.Server.MapPath(@"~/Content/_chave/Chaves Pública e Privada.pfx"), duaSenhaCertificado,"http://*****:*****@"~/Content/_chave/Chaves Pública e Privada.pfx"), duaSenhaCertificado);

                var resultado = duaService.ConsultaDuaCNPJ(DUANumero, DUACNPJ.Replace(".", "").Replace("/", "").Replace("-", ""));

                var xser = new XmlSerializer(typeof(RespostaConsultaDua));
                var xml  = (RespostaConsultaDua)xser.Deserialize(new StringReader(resultado));

                if (xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua == null)
                {
                    return(null);
                }

                DUA retorno = new DUA();

                retorno.OrgaoSigla    = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Orgao.XSigla;
                retorno.ServicoCodigo = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Area.CArea;

                retorno.ReferenciaData = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Data.DRef;
                retorno.CNPJ           = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Contri.Cnpj;

                retorno.ReceitaValor    = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Rece.VRece;
                retorno.PagamentoCodigo = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Pgto.CPgto;

                return(retorno);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }