public IActionResult PostCertArchivo(int id, [FromForm] ArchivoCertificado archivos) { try { string mensaje = ""; var certificadoService = new CertificadoService(); if (!certificadoService.procesarArchivos(id, archivos)) { mensaje = "Uno o mas archivos no fueron procesados correctamente"; } else { mensaje = "Archivo(s) procesado(s) correctamente"; } return(Ok(new { Message = mensaje })); } catch (Exception e) { if (e is InvalidCertificateExtensionType) { return(BadRequest(new { Message = e.Message })); } return(StatusCode(500, new { Message = "Error en el servidor" })); } }
public IActionResult Delete(int id) { var certService = new CertificadoService(); try { certService.EliminarCertificado(id); return(Ok()); } catch { return(StatusCode(500, new { Message = "Error en el servidor" })); } }
public IActionResult PutActivarCertificado(int id) { var certServ = new CertificadoService(); try { certServ.ActivarCertificado(id); return(Ok()); } catch (Exception e) { return(StatusCode(500, new { Message = "Error en el servidor" })); } }
public IActionResult Put(int id, Certificado certificado) { var res = new Dictionary <string, Object>(); var certServ = new CertificadoService(); try { certServ.actualizarCertificado(certificado); res.Add("certificado", certificado); return(Ok(res)); } catch (Exception e) { return(StatusCode(500, new { Message = "Error en el servidor" })); } }
public IActionResult Post(int id, Certificado certificado) { var res = new Dictionary <string, Object>(); var certServ = new CertificadoService(); try { certServ.insertCertificado(certificado, id); res.Add("certificado", certificado); return(Ok(res)); } catch (Exception e) { return(StatusCode(500, new { Message = e.Message })); } }
public IActionResult Get(int id) { var res = new Dictionary <string, Object>(); try { var certServ = new CertificadoService(); res.Add("certificado", certServ.GetCertificado(id)); return(Ok(res)); } catch (Exception e) { if (e is NotFoundException) { res.Add("message", e.Message); return(NotFound(new { Message = e.Message })); } return(StatusCode(500, new { Message = "Error en el servidor" })); } }
public IActionResult Get(int pagina, int rpp) { var res = new Dictionary <string, Object>(); var certService = new CertificadoService(); try { res = certService.getCertificados(pagina, rpp); return(Ok(res)); } catch (Exception e) { if (e is NotFoundException) { res.Add("message", e.Message); return(NotFound(res)); } res.Add("message", "Error en el servidor"); return(StatusCode(500, res)); } }
private List <RetornoNotaFiscal> ConsultarReciboLoteContingencia(string nRec, Modelo modelo) { var config = ConfiguracaoService.GetConfiguracao(); X509Certificate2 certificado = null; var certificadoEntity = CertificadoService.GetCertificado(); if (!string.IsNullOrWhiteSpace(certificadoEntity.Caminho)) { certificado = CertificateManager.GetCertificateByPath(certificadoEntity.Caminho, RijndaelManagedEncryption.DecryptRijndael(certificadoEntity.Senha)); } else { certificado = CertificateManager.GetCertificateBySerialNumber(certificadoEntity.NumeroSerial, false); } var consultaRecibo = new TConsReciNFe(); consultaRecibo.versao = "4.00"; consultaRecibo.tpAmb = config.IsProducao ? XmlSchemas.NfeRetAutorizacao.Envio.TAmb.Item1 : XmlSchemas.NfeRetAutorizacao.Envio.TAmb.Item2; consultaRecibo.nRec = nRec; string parametroXML = XmlUtil.Serialize(consultaRecibo, "http://www.portalfiscal.inf.br/nfe"); var node = new XmlDocument(); node.LoadXml(parametroXML); Ambiente ambiente = config.IsProducao ? Ambiente.Producao : Ambiente.Homologacao; var codigoUF = (CodigoUfIbge)Enum.Parse(typeof(CodigoUfIbge), EmissorService.GetEmissor().Endereco.UF); try { var servico = ServiceFactory.GetService(modelo, ambiente, Factory.Servico.RetAutorizacao, codigoUF, certificado); var client = (NFeRetAutorizacao4.NFeRetAutorizacao4SoapClient)servico.SoapClient; var result = client.nfeRetAutorizacaoLote(node); TRetConsReciNFe retorno = (TRetConsReciNFe)XmlUtil.Deserialize <TRetConsReciNFe>(result.OuterXml); List <RetornoNotaFiscal> retornoConsultaList = new List <RetornoNotaFiscal>(); foreach (var protNFe in retorno.protNFe) { var retornoConsultaNota = new RetornoNotaFiscal(); retornoConsultaNota.Chave = protNFe.infProt.chNFe; retornoConsultaNota.CodigoStatus = protNFe.infProt.cStat; retornoConsultaNota.DataAutorizacao = protNFe.infProt.dhRecbto; retornoConsultaNota.Motivo = protNFe.infProt.xMotivo; retornoConsultaNota.Protocolo = protNFe.infProt.nProt; retornoConsultaNota.Xml = XmlUtil.Serialize(protNFe, string.Empty) .Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", string.Empty) .Replace("TProtNFe", "protNFe") .Replace("<infProt xmlns=\"http://www.portalfiscal.inf.br/nfe\">", "<infProt>"); retornoConsultaList.Add(retornoConsultaNota); } return(retornoConsultaList); } catch (Exception) { if (!_isFirstTimeRecheckingRecipts) { _isFirstTimeRecheckingRecipts = true; return(ConsultarReciboLoteContingencia(nRec, modelo)); } else { _isFirstTimeRecheckingRecipts = false; return(null); } } }