Beispiel #1
0
        public void save(CafModel cafmodel)
        {
            try
            {
                SQLiteConnection sqliteConn = new SQLiteConnection();
                sqliteConn = bd.ConnectSqlite();

                string sql = "INSERT INTO caf("
                             + "cafxml, fecha, \"tipoDte\", \"dirCaf\", \"folioInicial\", \"folioFinal\",\"rutEmpresa\",\"nomXml\")"
                             + " VALUES ('"
                             + cafmodel.cafxml + "','"
                             + cafmodel.fecha + "','"
                             + cafmodel.tipoDte + "','"
                             + cafmodel.dirCaf + "',"
                             + cafmodel.folioInicial + ","
                             + cafmodel.folioFinal + ",'"
                             + cafmodel.rutEmpresa + "','"
                             + cafmodel.nomXml + "'"
                             + ");";
                SQLiteCommand command = new SQLiteCommand(sql, sqliteConn);
                command.ExecuteNonQuery();
                sqliteConn.Close();
            }
            catch (SQLiteException ex)
            {
                throw new Exception("Error" + ex.Message);
            }
        }
        public void save(CafModel cafmodel)
        {
            try
            {
                BaseDato       con      = new BaseDato();
                OdbcConnection conexion = con.ConnectPostgres();

                OdbcCommand select = new OdbcCommand();
                select.Connection  = conexion;
                select.CommandText = "INSERT INTO caf("
                                     + "cafxml, fecha, \"tipoDte\", \"dirCaf\", \"folioInicial\", \"folioFinal\",\"rutEmpresa\",\"nomXml\")"
                                     + " VALUES ('"
                                     + cafmodel.cafxml + "','"
                                     + cafmodel.fecha + "','"
                                     + cafmodel.tipoDte + "','"
                                     + cafmodel.dirCaf + "',"
                                     + cafmodel.folioInicial + ","
                                     + cafmodel.folioFinal + ",'"
                                     + cafmodel.rutEmpresa + "','"
                                     + cafmodel.nomXml + "'"
                                     + ");";
                OdbcDataReader reader = select.ExecuteReader();
            }
            catch (Exception ex)
            {
                throw new Exception("Error" + ex.Message);
            }
        }
        // recupera caf desde xml

        public CafModel xmlToCaf(string dirfile)
        {
            CafModel    cafModel = new CafModel();
            XmlDocument xDoc     = new XmlDocument();

            //La ruta del documento XML permite rutas relativas
            //respecto del ejecutable!

            xDoc.Load(@"" + dirfile + "");

            XmlNodeList lista = xDoc.GetElementsByTagName("AUTORIZACION");

            XmlNodeList lista1 = ((XmlElement)lista[0]).GetElementsByTagName("CAF");

            XmlNodeList lista2 = ((XmlElement)lista1[0]).GetElementsByTagName("DA");

            XmlNodeList lista3 = ((XmlElement)lista2[0]).GetElementsByTagName("RNG");

            foreach (XmlElement nodo in lista)
            {
                int i = 0;

                XmlNodeList rutCaf =
                    nodo.GetElementsByTagName("RE");

                XmlNodeList rzSoc =
                    nodo.GetElementsByTagName("RS");

                XmlNodeList tpoDte =
                    nodo.GetElementsByTagName("TD");

                XmlNodeList folioIni =
                    nodo.GetElementsByTagName("D");

                XmlNodeList folioFinal =
                    nodo.GetElementsByTagName("H");

                XmlNodeList fechaCaf =
                    nodo.GetElementsByTagName("FA");

                int      final    = Convert.ToInt32(folioFinal[i].InnerText);
                int      inicial  = Convert.ToInt32(folioIni[i].InnerText);
                int      tipoDte  = Convert.ToInt32(tpoDte[i].InnerText);
                DateTime fechacaf = Convert.ToDateTime(fechaCaf[i].InnerText);
                string   rut      = rutCaf[i].InnerText;

                //Cargo el objeto
                cafModel.tipote       = tipoDte.ToString();
                cafModel.fecha        = fechacaf;
                cafModel.folioInicial = inicial;
                cafModel.folioFinal   = final;
                cafModel.rutEmpresa   = rut;
            }


            return(cafModel);
        }
        public DocumentoModel lectura(String fileJson, bool moveFile, String dirOrigen)
        {
            DocumentoModel doc      = new DocumentoModel();
            fileAdmin      file     = new fileAdmin();
            String         fileName = String.Empty;

            if (dirOrigen == "")
            {
                dirOrigen = @"C:\AdmToSii\file";
            }


            if (fileJson == "")
            {
                fileName = file.nextFile(dirOrigen, "*.json");
            }
            else
            {
                fileName = dirOrigen + fileJson;
            }


            if (fileName != null)
            {
                StreamReader objReader = new StreamReader(fileName, System.Text.Encoding.Default, true);
                objReader.ToString();
                String data = objReader.ReadToEnd();

                DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(DocumentoModel));

                MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(data));

                try
                {
                    doc = (DocumentoModel)js.ReadObject(ms);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    // MessageBox.Show("Error de lectura JSON"+ e.Message);
                }

                // Datos del Emisor
                // Cargo datos en laclase Documento desde sqlite
                string oc = bd.GetOC();
                if (oc == "True")
                {
                    doc.NroOrdenCompra = Convert.ToInt32(getOrdenCompra(data));
                    doc.NroCita        = getNroCita(data);
                    doc.Sello          = getSello(data);
                }


                if (doc.RUTEmisor == null)
                {
                    try
                    {
                        SQLiteConnection myConn = bd.ConnectSqlite();
                        myConn.Open();

                        string           sql     = "select * from empresa";
                        SQLiteCommand    command = new SQLiteCommand(sql, myConn);
                        SQLiteDataReader reader  = command.ExecuteReader();
                        while (reader.Read())
                        {
                            doc.RUTEmisor         = reader["RutEmisor"].ToString();
                            doc.RznSoc            = reader["RznSoc"].ToString();
                            doc.GiroEmis          = reader["GiroEmis"].ToString();
                            doc.Telefono          = reader["Telefono"].ToString();
                            doc.CorreoEmisor      = reader["CorreoEmisor"].ToString();
                            doc.Acteco            = Convert.ToInt32(reader["Acteco"]);
                            doc.CdgSIISucur       = Convert.ToInt32(reader["CdgSIISucur"]);
                            doc.DirMatriz         = reader["DirMatriz"].ToString();
                            doc.CmnaOrigen        = reader["CmnaOrigen"].ToString();
                            doc.CiudadOrigen      = reader["CiudadOrigen"].ToString();
                            doc.DirOrigen         = reader["DirOrigen"].ToString();
                            doc.NombreCertificado = reader["NomCertificado"].ToString();
                            doc.SucurEmisor       = reader["SucurEmisor"].ToString();
                            doc.FchResol          = reader["FchResol"].ToString();
                            doc.RutEnvia          = reader["RutCertificado"].ToString();
                            doc.NumResol          = reader["NumResol"].ToString();
                            doc.CondEntrega       = reader["CondEntrega"].ToString();
                        }
                        myConn.Close();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("ERROR: {0}", e.ToString());
                    }
                }
                else
                {
                    try
                    {
                        SQLiteConnection myConn = bd.ConnectSqlite();
                        //myConn.Open();

                        string           sql     = "select * from empresa where empresa.RutEmisor = '" + doc.RUTEmisor.ToString() + "'";
                        SQLiteCommand    command = new SQLiteCommand(sql, myConn);
                        SQLiteDataReader reader  = command.ExecuteReader();
                        while (reader.Read())
                        {
                            doc.Telefono          = reader["Telefono"].ToString();
                            doc.CorreoEmisor      = reader["CorreoEmisor"].ToString();
                            doc.Acteco            = Convert.ToInt32(reader["Acteco"]);
                            doc.DirRegionalSII    = reader["sucurSII"].ToString();
                            doc.DirMatriz         = reader["DirMatriz"].ToString();
                            doc.NombreCertificado = reader["NomCertificado"].ToString();
                            doc.SucurEmisor       = reader["SucurEmisor"].ToString();
                            doc.FchResol          = reader["FchResol"].ToString();
                            doc.RutEnvia          = reader["RutCertificado"].ToString();
                            doc.NumResol          = reader["NumResol"].ToString();
                            doc.CondEntrega       = reader["CondEntrega"].ToString();
                            doc.PrnMtoNeto        = reader["PrnMtoNeto"].ToString();
                            doc.PrnTwoCopy        = reader["PrnTwoCopy"].ToString();
                        }

                        myConn.Close();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("ERROR: {0}", e.ToString());
                    }
                }

                objReader.Close();
                ms.Close();
                if (moveFile)
                {
                    file.mvFile(fileName, dirOrigen, "C:/AdmToSii/fileProcess/");
                }

                CafModel caf = new CafModel();

                if (!caf.isValid(doc))
                {
                    doc = null;
                }

                if (fileJson == "")
                {
                    doc.fileName = fileName;
                }
                else
                {
                    doc.fileName = fileJson;
                }
                return(doc);
            }
            else
            {
                return(null);
            }
        }