public void procesoContingencia() { while (!_shouldStop) { // Thread.Sleep(60000); // Duerme 10 minutos Thread.Sleep(120000); Console.WriteLine("ProcessContingencia thread: working..."); Connect conn = new Connect(); Log log = new Log(); String ping = String.Empty; String envunit = String.Empty; String pdft = String.Empty; String pdfc = String.Empty; String jsonName = String.Empty; String filecliente = String.Empty; String filefactura = String.Empty; if (ping == "{\"status\":\"Ok\"}") { ReenvioSql reenv = new ReenvioSql(); // saco el nombres de los archivos json, enviomasivo.xml pdfT y pdfC List<String> listaReenvio = new List<string>(); listaReenvio = reenv.sgteReenvio(); // cargo clase Documento Documento doc = new Documento(); TxtReader json = new TxtReader(); int i = 0; foreach (var reenvio in listaReenvio) { i++; switch (i) { case 1: { doc = json.lectura(reenvio, false, @"c:\IatFiles\fileprocess\"); jsonName = reenvio; } break; case 2: envunit = reenvio; break; case 3: pdft = reenvio; break; case 4: pdfc = reenvio; break; case 5: filecliente = reenvio; break; case 6: filefactura = reenvio; break; } } // llamo clase connect para reenviar if (listaReenvio.Count() > 0) { // conn.sendInvoice(doc, pdft, pdfc, envunit,filecliente,filefactura, "S"); // Cambio estado del registro de reenvio reenv.cambioEstadoReenvio("PROCESADO", jsonName); } } else { log.addLog("ERROR Proceso Contingencia Ping no responde Json:" + jsonName , "ERROR"); } } }
private void button13_Click(object sender, EventArgs e) { Log l = new Log(); if (ldb.creaDB()) { l.addLog("Creacion de DB", "OK"); MessageBox.Show("Base de Datos Se ha creado con Exito"); } else { MessageBox.Show("Base de datos ya Existe"); } l.verLog(); }
public String doc_to_xmlSii(Documento doc, String TED, String fch) { String dte = "<DTE version=\"1.0\">\n" + "<Documento ID=\"F" + doc.Folio + "T" + doc.TipoDTE + "\">\n"; String tipodespacho = "<TipoDespacho>" + doc.TipoDespacho + "</TipoDespacho>\n"; if (doc.TipoDespacho == 0) tipodespacho = ""; String indtraslado = "<IndTraslado>" + doc.IndTraslado + "</IndTraslado>\n"; if (doc.IndTraslado == 0) indtraslado = ""; String encabezado = "<Encabezado>\n" + "<IdDoc> \n" + "<TipoDTE>" + doc.TipoDTE + "</TipoDTE>\n" + "<Folio>" + doc.Folio + "</Folio> \n" + "<FchEmis>" + doc.FchEmis + "</FchEmis>\n" + tipodespacho + indtraslado + "</IdDoc>\n"; String emisor = "<Emisor>\n" + "<RUTEmisor>" + doc.RUTEmisor + "</RUTEmisor>\n" + "<RznSoc>" + doc.RznSoc + "</RznSoc>\n" + "<GiroEmis>" + doc.GiroEmis + "</GiroEmis>\n" + "<Acteco>" + doc.Acteco + "</Acteco>\n" + "<CdgSIISucur>" + doc.CdgSIISucur + "</CdgSIISucur>\n" + "<DirOrigen>" + doc.DirOrigen + "</DirOrigen>\n" + "<CmnaOrigen>" + doc.CmnaOrigen + "</CmnaOrigen>\n" + "<CiudadOrigen>" + doc.CiudadOrigen + "</CiudadOrigen>\n" + "</Emisor>\n"; String receptor = "<Receptor>\n" + "<RUTRecep>" + doc.RUTRecep + "</RUTRecep>\n" + "<RznSocRecep>" + doc.RznSocRecep + "</RznSocRecep>\n" + "<GiroRecep>" + doc.GiroRecep + "</GiroRecep>\n" + "<DirRecep>" + doc.DirRecep + "</DirRecep>\n" + "<CmnaRecep>" + doc.CmnaRecep + "</CmnaRecep>\n" + "<CiudadRecep>" + doc.CiudadRecep + "</CiudadRecep>\n" + "</Receptor>\n"; String impreten = String.Empty; string impretenes = String.Empty; foreach (var imp in doc.imptoReten) { impreten = "<ImptoReten>\n" + "<TipoImp>" + imp.TipoImp + "</TipoImp>\n" + "<TasaImp>" + imp.TasaImp + "</TasaImp>\n" + "<MontoImp>" + imp.MontoImp + "</MontoImp>\n" + "</ImptoReten>\n"; if (imp.TipoImp == "") impreten = ""; impretenes += impreten; } String mntneto = "<MntNeto>" + doc.MntNeto + "</MntNeto>\n"; if (doc.MntNeto == 0) mntneto = ""; String mntexe = "<MntExe>" + doc.MntExe + "</MntExe>\n"; if (doc.MntExe == 0) mntexe = ""; String tasaiva = "<TasaIVA>" + doc.TasaIVA + "</TasaIVA>\n"; if (doc.TasaIVA == 0) tasaiva = ""; String iva = "<IVA>" + doc.IVA + "</IVA>\n"; if (doc.IVA == 0) iva = ""; String totales = "<Totales>\n" + mntneto + mntexe + tasaiva + iva + impretenes + "<MntTotal>" + doc.MntTotal + "</MntTotal>\n" + "</Totales>\n"; String finencabezado = "</Encabezado>\n"; //arma encabezado en documento String documento = dte + encabezado + emisor + receptor + totales + finencabezado; // for para crear detalles y agregarlos al documento String detalle; String firstNmbItem = String.Empty; int i = 0; foreach (var det in doc.detalle) { String indexe = "<IndExe>" + det.IndExe + "</IndExe>\n"; if (det.IndExe == "0") indexe = ""; String qtyitem = "<QtyItem>" + det.QtyItem + "</QtyItem>\n"; if (det.QtyItem == 0) qtyitem = ""; String unmditem = "<UnmdItem>" + det.UnmdItem + "</UnmdItem>\n"; if (det.UnmdItem == "") unmditem = ""; String prcitem = "<PrcItem>" + det.PrcItem + "</PrcItem>\n"; if (det.PrcItem == 0) prcitem = ""; //agrego el punto de float String conpunto = det.DescuentoPct.ToString("N1"); String descuentopct = "<DescuentoPct>" + conpunto + "</DescuentoPct>\n"; if (det.DescuentoPct == 0) descuentopct = ""; String descuentomonto = "<DescuentoMonto>" + det.DescuentoMonto + "</DescuentoMonto>\n"; if (det.DescuentoMonto == 0) descuentomonto = ""; String codimpadic = "<CodImpAdic>" + det.CodImpAdic + "</CodImpAdic>\n"; if (det.CodImpAdic == "" || det.CodImpAdic == "0") codimpadic = ""; String nmbItem = det.NmbItem.Replace("&", "&"); detalle = "<Detalle>\n" + "<NroLinDet>" + det.NroLinDet + "</NroLinDet>\n" + "<CdgItem>\n" + "<TpoCodigo>" + det.TpoCodigo + "</TpoCodigo>\n" + "<VlrCodigo>" + det.VlrCodigo + "</VlrCodigo>\n" + "</CdgItem>\n" + indexe + "<NmbItem>" + nmbItem + "</NmbItem>\n" + qtyitem + unmditem + prcitem + descuentopct + descuentomonto + codimpadic + "<MontoItem>" + det.MontoItem + "</MontoItem>\n" + "</Detalle>\n"; documento = documento + detalle; if (i == 0) firstNmbItem = nmbItem; i++; } // for para crear descuento global y agregarlas al documento String descuentoglobal = String.Empty; foreach (var desglo in doc.dscRcgGlobal) { String nrolindr = "<NroLinDR>" + desglo.NroLinDR + "</NroLinDR>\n"; if (desglo.NroLinDR == 0) nrolindr = ""; String tpomov = "<TpoMov>" + desglo.TpoMov + "</TpoMov>\n"; if (desglo.TpoMov == "") tpomov = ""; String glosadr = "<GlosaDR>" + desglo.GlosaDR + "</GlosaDR>\n"; if (desglo.GlosaDR == "") glosadr = ""; String tpovalor = "<TpoValor>" + desglo.TpoValor + "</TpoValor>\n"; if (desglo.TpoValor == "") tpovalor = ""; String valordr = "<ValorDR>" + desglo.ValorDR + "</ValorDR>\n"; if (desglo.ValorDR == 0) valordr = ""; descuentoglobal = "<DscRcgGlobal>\n" + nrolindr + tpomov + glosadr + tpovalor + valordr + "</DscRcgGlobal>\n"; if (desglo.NroLinDR == 0) descuentoglobal = ""; documento = documento + descuentoglobal; } // for para crear referencias y agregarlas al documento String referencia; foreach (var refe in doc.Referencia) { String indglobal = "<IndGlobal>" + refe.IndGlobal + "</IndGlobal>\n"; if (refe.IndGlobal == 0) indglobal = ""; String rutotr = "<RUTOtr>" + refe.RUTOtr + "</RUTOtr>\n"; if (refe.RUTOtr == "") rutotr = ""; String codref = "<CodRef>" + refe.CodRef + "</CodRef>\n"; if (refe.CodRef == 0) codref = ""; referencia = "<Referencia>\n" + "<NroLinRef>" + refe.NroLinRef + "</NroLinRef>\n" + "<TpoDocRef>" + refe.TpoDocRef + "</TpoDocRef>\n" + indglobal + "<FolioRef>" + refe.FolioRef + "</FolioRef>\n" + rutotr + // "<IdAdicOtr>" + refe.IdAdicOtr + "</IdAdicOtr> \n" + "<FchRef>" + refe.FchRef + "</FchRef>\n" + codref + "<RazonRef>" + refe.RazonRef + "</RazonRef>\n" + "</Referencia>\n"; if (refe.NroLinRef == 0) referencia = ""; documento = documento + referencia; } String fechaFirma = "<TmstFirma>" + fch + "</TmstFirma>\r\n"; String findocumenro = "</Documento>\r\n"; String findte = "</DTE>\r\n"; documento = documento + TED + fechaFirma + findocumenro + findte; X509Certificate2 cert = FuncionesComunes.obtenerCertificado(doc.NombreCertificado); String signDte = firmarDocumento(documento, cert); Log log = new Log(); log.addLog("XML generado y firmado TipoDTE :" + doc.TipoDTE + " Folio :" + doc.Folio, "OK"); return signDte; }