Example #1
0
        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;
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }