public static void EnviarArchivos(string pathXml, string ContraseñaCertificado, string RutaXML1, string NombreXML, string LinkSRIrecepcion, string LinkSRIautorizacion, string nombreEmpresa, string EmailEmpresa, string passEmail, ref int contadorRecibida, ref int contadorAutorizado, ref int contadorNoautorizados, ref int contadorDevuelta) { try { Consultas Objconsul = new Consultas(); int estadoautorizacion = 0; string Recibida = "D", AUT = "NO"; //Firmar Documento Firma.Firmalo(pathXml, ContraseñaCertificado, RutaXML1 + @"\Generados\" + NombreXML + ".xml", RutaXML1 + @"\Firmados\" + NombreXML + ".xml", RutaXML1); SRIRecepcionComprobante sriRecepcion = new SRIRecepcionComprobante(); string respuestaRecepcion = sriRecepcion.RecepcionArchivos(RutaXML1 + @"\Firmados" + @"\" + NombreXML + ".xml", LinkSRIrecepcion, NombreXML, RutaXML1); //Fin RecepcionSRI //RECIBIDA if (respuestaRecepcion == "RECIBIDA") { contadorRecibida++; Recibida = "R"; SRIAutorizacionComprobante sriAutori = new SRIAutorizacionComprobante(LinkSRIautorizacion, nombreEmpresa, EmailEmpresa, passEmail); string estado = sriAutori.AutorizacionArchivos(NombreXML, RutaXML1); if (estado != "") { if (estado == "AUTORIZADO") { contadorAutorizado++; estadoautorizacion = 1; AUT = "SI"; } else { contadorNoautorizados++; estadoautorizacion = 0; AUT = "NO"; } Objconsul.EjecutarSQL("UPDATE [dbo].[TbDocumentosGeneradosFact] SET [EstadoAutorizacion] = '" + estadoautorizacion + "',[RecepcionSRI] ='" + Recibida + "',[AutorizadoSRI]='" + AUT + "' WHERE NombreXML = '" + NombreXML + "'"); } } else { contadorDevuelta++; Recibida = "D"; estadoautorizacion = 0; AUT = "NO"; Objconsul.EjecutarSQL("UPDATE [dbo].[TbDocumentosGeneradosFact] SET [EstadoAutorizacion] = '" + estadoautorizacion + "',[RecepcionSRI] ='" + Recibida + "',[AutorizadoSRI]='" + AUT + "' WHERE NombreXML = '" + NombreXML + "'"); } } catch (Exception ex) { //throw; } }
private List <Factura> llenarDatosEmcabezadoyPie(string pathArchivo, string fechahoraautorizacion, string ambiente) { try { Consultas objConsulta = new Consultas(); List <Factura> listaFactura = new List <Factura>(); Factura objFactura = new Factura(); XmlDocument myXmlDocument = new XmlDocument(); myXmlDocument.Load(pathArchivo); //datos emcabezado objFactura.Rucempresa = myXmlDocument.GetElementsByTagName("ruc")[0].InnerText; objFactura.Razonsocialempresa = myXmlDocument.GetElementsByTagName("razonSocial")[0].InnerText; objFactura.Numerodeautorizacion = myXmlDocument.GetElementsByTagName("claveAcceso")[0].InnerText; objFactura.Fechahoraemision = fechahoraautorizacion; objFactura.Ambiente = ambiente; objFactura.Emision = myXmlDocument.GetElementsByTagName("guiaRemision")[0].InnerText;//guiaRemision objFactura.Claveacceso = myXmlDocument.GetElementsByTagName("claveAcceso")[0].InnerText; objFactura.Direccionempresa = myXmlDocument.GetElementsByTagName("dirMatriz")[0].InnerText; objFactura.Direccionsucursal = myXmlDocument.GetElementsByTagName("dirMatriz")[0].InnerText; objFactura.Obligadollevarcontabilidad = myXmlDocument.GetElementsByTagName("obligadoContabilidad")[0].InnerText; //datos cliente objFactura.Razonsocialcliente = myXmlDocument.GetElementsByTagName("razonSocialComprador")[0].InnerText; objFactura.Fechaemisioncliente = myXmlDocument.GetElementsByTagName("fechaEmision")[0].InnerText; objFactura.Direccioncliente = myXmlDocument.GetElementsByTagName("direccionComprador")[0].InnerText; objFactura.Identificacioncliente = myXmlDocument.GetElementsByTagName("identificacionComprador")[0].InnerText; if (myXmlDocument.GetElementsByTagName("identificacionComprador")[0].InnerText != "9999999999999") { string identificacion = myXmlDocument.GetElementsByTagName("identificacionComprador")[0].InnerText; correoCliente = objConsulta.CorreoCliente(identificacion); NombreCliente = myXmlDocument.GetElementsByTagName("razonSocialComprador")[0].InnerText; FormarRide = true; } listaFactura.Add(objFactura); return(listaFactura); } catch (Exception e) { return(null); } }
public bool FormarXml() { try { fecha = Funcion.reemplazarcaracterFecha(fecha); ConsutarFactura = objC.ConsutarFactura(fecha, claveacceso); if (ConsutarFactura.Count > 0) { Xml xml = new Xml(); string[] vector = ConsutarFactura[0].Split(';'); int sucursal = Convert.ToInt32(vector[0]); int caja = Convert.ToInt32(vector[1]); string claveacceso = vector[3].Trim(); //string claveacc = myXmlDocument.GetElementsByTagName("claveAcceso")[0].InnerText; string Substr = claveacceso.Substring(0, 23); string subStri2 = claveacceso.Substring(24, 24); string claveAccesoNueva = Substr + "2" + subStri2; claveacceso = Modulo11(claveAccesoNueva); int NumeroFactura = Convert.ToInt32(vector[2]); if (!Directory.Exists(PathServer + @"\Generados\")) { Directory.CreateDirectory(PathServer + @"\Generados\"); } xml._crearXml(PathServer + @"\Generados\" + NombreGuardar + ".xml", "factura"); InfoTributaria InfoTributaria = new InfoTributaria(); InfoTributaria.Ambiente = 2; InfoTributaria.TipoEmision = 1; InfoTributaria.RazonSociaL = "VEGA SOLIS SONNA JUDITH"; InfoTributaria.NombreComerciaL = "COMISARIATO SUPER 2"; InfoTributaria.RuC = "1802114429001"; InfoTributaria.CodDoC = "01"; InfoTributaria.EstaB = "001"; InfoTributaria.PtoEmI = caja.ToString("D3"); InfoTributaria.SecuenciaL = NumeroFactura.ToString("D9"); InfoTributaria.DirMatriz = "VIA GUAYAS Y ABDON CALDERON 207"; xml.InfoTributaria("infoTributaria", InfoTributaria, claveacceso); InfoFactura infoFactura = new InfoFactura(); fecha = Funcion.reemplazarcaracterFechaViceversa(fecha); infoFactura.FechaEmision = fecha; infoFactura.DirEstablecimiento = "VIA GUAYAS Y ABDON CALDERON 207"; infoFactura.ObligadoContabilidad = "SI"; if (vector[4] != "9999999999999") { if (vector[4].Length == 10) { infoFactura.TipoIdentificacionComprador = "05"; } else { infoFactura.TipoIdentificacionComprador = "04"; } } else { infoFactura.TipoIdentificacionComprador = "07"; } infoFactura.GuiaRemision = sucursal.ToString("D3") + "-" + caja.ToString("D3") + "-" + NumeroFactura.ToString("D9"); infoFactura.RazonSocialComprador = vector[5]; infoFactura.IdentificacionComprador = vector[4]; infoFactura.DireccionComprador = vector[6]; infoFactura.TotalDescuento = "0.00"; infoFactura.Propina = "0.00"; objC = new Consultas(); double totalSinImpuesto = 0, ivapreci = 0, to = 0; DetalleFactura = objC.DetalleFact(NumeroFactura, caja); for (int j = 0; j < DetalleFactura.Count; j++) { totalSinImpuesto += DetalleFactura[j].Cantidad * DetalleFactura[j].Preciopublico_sin_iva; if (DetalleFactura[j].Iva == 12) { ivapreci += ((DetalleFactura[j].Cantidad * DetalleFactura[j].Preciopublico_sin_iva) * 12) / 100; } } to = totalSinImpuesto + ivapreci; //string importeTotal= docxml.GetElementsByTagName("importeTotal")[0].InnerText; infoFactura.TotalSinImpuestos = "" + totalSinImpuesto.ToString("#####0.00"); infoFactura.ImporteTotal = to.ToString("#####0.00");/*totalpagar.ToString("#####0.00");*/ xml.infoFactura("infoFactura", infoFactura, to.ToString("#####0.00"), DetalleFactura); xml.detalleFactura("detalles", DetalleFactura); DetalleFactura = new List <Producto>(); } return(true); } catch (Exception) { return(false); } }