internal bool ValidarDadosWebServiceDua(DUA dua, string numero, string cpfCnpj, string tipo, int ptvId) { if (dua == null) { Validacao.Add(Mensagem.PTV.DuaNaoEncontrado); return(Validacao.EhValido); } if (dua.PagamentoCodigo != "2" /*Pago e Consolidado*/ && dua.PagamentoCodigo != "1" /*Pago e não Consolidado*/) { Validacao.Add(Mensagem.PTV.DuaInvalido(numero)); } float valorUnitario = _da.ObterValorUnitarioDua(dua.ReferenciaData); float quantidadeDuaPagos = dua.ReceitaValor / valorUnitario; int quantidadeDuaEmitido = _da.ObterQuantidadeDuaEmitidos(numero, cpfCnpj, ptvId); if (quantidadeDuaPagos <= quantidadeDuaEmitido) { Validacao.Add(Mensagem.PTV.DuaSemSaldo(numero)); } return(Validacao.EhValido); }
public void VerificarDua(string numero, string cpfCnpj, string tipo, int ptvId) { try { if (!_validar.ValidarDuaInicio(numero, cpfCnpj, tipo)) { return; } WSDUA wsDua = new WSDUA(); DUA dua = null; if (tipo == "1") { dua = wsDua.ObterDUAPF(numero, cpfCnpj); } else { dua = wsDua.ObterDUAPJ(numero, cpfCnpj); } _validar.ValidarDadosWebServiceDua(dua, numero, cpfCnpj, tipo, ptvId); } catch (Exception exc) { Validacao.AddErro(exc); } }
public void VerificarDUA(int filaID, string numero, string cpfCnpj, string tipo, int ptvId) { try { DUA dua = new DUA(); var duaRequisicao = _da.BuscarRespostaConsultaDUA(filaID); if (duaRequisicao == null) { return; } if (!duaRequisicao.Sucesso) { Validacao.Add(Mensagem.PTV.ErroAoConsultarDua); return; } var xser = new XmlSerializer(typeof(RespostaConsultaDua)); RespostaConsultaDua xml = null; try { xml = (RespostaConsultaDua)xser.Deserialize(new StringReader(duaRequisicao.Resultado)); } catch { Validacao.Add(Mensagem.PTV.ErroAoConsultarDua); return; } if (xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua == null) { Validacao.Add(Mensagem.PTV.ErroSefaz(xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.XMotivo)); return; } dua.OrgaoSigla = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Orgao.XSigla; dua.ServicoCodigo = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Area.CArea; dua.ReferenciaData = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Data.DRef; dua.CPF = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Contri.Cpf; dua.CNPJ = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Contri.Cnpj; dua.ReceitaValor = (float)xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Rece.VRece; dua.PagamentoCodigo = xml.Body.DuaConsultaResponse.DuaConsultaResult.RetConsDua.Dua.InfDUAe.Pgto.CPgto; _validar.ValidarDadosWebServiceDua(dua, numero, cpfCnpj, tipo, ptvId); } catch (Exception exc) { Validacao.AddErro(exc); } }
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); }
internal bool ValidarDadosWebServiceDuaCFO(DUA dua, string numero, string cpfCnpj, LiberaracaoNumeroCFOCFOC liberacao = null) { if (dua == null) { Validacao.Add(Mensagem.PTV.DuaNaoEncontrado); return(Validacao.EhValido); } if (dua.PagamentoCodigo != "2" /*Pago e Consolidado*/ && dua.PagamentoCodigo != "1" /*Pago e não Consolidado*/) { Validacao.Add(Mensagem.PTV.DuaInvalido(numero)); } if (dua.CodigoServicoRef != "21213") { Validacao.Add(Mensagem.LiberacaoNumeroCFOCFOC.CodigoDuaInvalido); } if (liberacao != null) { int quantidadeDuaEmitido = _da.ObterQuantidadeDuaEmitidos(numero, cpfCnpj); float ValorUnitario = _da.ObterValorUnitarioDua(dua.ReferenciaData); int totalPagos = (int)(Math.Round(dua.ValorTotal, 2) / Math.Round(ValorUnitario, 2)); long totalCfo = liberacao.NumeroFinalCFO - liberacao.NumeroInicialCFO; long totalCfoc = liberacao.NumeroFinalCFOC - liberacao.NumeroInicialCFOC; totalCfo += liberacao.QuantidadeDigitalCFO + liberacao.QuantidadeDigitalCFOC; if ((totalPagos * 25) < (quantidadeDuaEmitido + totalCfo + totalCfoc)) { Validacao.Add(Mensagem.PTV.DuaSemSaldo(numero)); } } return(Validacao.EhValido); }
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); }