Example #1
0
        public static List <string> GetDirectoriesFTP()
        {
            FtpWebRequest ftpRequest = UtilFTP.FtpRequest("/datos");

            ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
            FtpWebResponse response     = (FtpWebResponse)ftpRequest.GetResponse();
            StreamReader   streamReader = new StreamReader(response.GetResponseStream());
            List <string>  directories  = new List <string>();
            string         line         = streamReader.ReadLine();

            while (!string.IsNullOrEmpty(line))
            {
                directories.Add(line);
                line = streamReader.ReadLine();
            }
            streamReader.Close();
            return(directories);
        }
Example #2
0
        // EXPORTAR DATOS POS

        public static void ExportarDatos()
        {
            credentials = UtilVarios.GetCredentialsDB();
            server      = credentials[0];
            user        = credentials[1];
            database    = credentials[2];
            pass        = credentials[3];
            DataTable tbl = BL.GetDataBLL.RazonSocial();

            idRazonSocial = tbl.Rows[0][0].ToString();
            strFile       = idRazonSocial + "_datos.sql";
            UtilDB.DumpDatos(server, user, pass, database, @"c:\windows\temp\" + strFile);
            if (ValidarDump())
            {
                if (File.Exists(@"c:\windows\temp\" + strFile + ".xz"))
                {
                    File.Delete(@"c:\windows\temp\" + strFile + ".xz");
                }
                UtilDB.ZipDB(@"c:\windows\temp\" + strFile);
                strFile = strFile + ".xz";
Reintentar:
                UtilFTP.UploadFromFile(@"c:\windows\temp\" + strFile, "/datos/" + strFile);
                UtilFTP.DownloadFile(@"c:\windows\temp\tmp_" + strFile, "/datos/" + strFile);
                if (!UtilVarios.FileCompare(@"c:\windows\temp\tmp_" + strFile, @"c:\windows\temp\" + strFile))
                {
                    if (intentosUpload < 5)
                    {
                        intentosUpload++;
                        goto Reintentar;
                    }
                }
            }
            else
            {
                if (intentosDump < 5)
                {
                    intentosDump++;
                    ExportarDatos();
                }
            }
            intentosUpload = 0;
            intentosDump   = 0;
        }
Example #3
0
        // IMPORTAR MOVIMIENTOS POS

        public static void GetDataPOS(bool diarios)
        {
            List <string> directories = GetDirectoriesFTP();

            if (directories.Count() > 0)
            {
                DataTable tbl           = BL.GetDataBLL.RazonSocial();
                string    idRazonSocial = tbl.Rows[0][0].ToString() + "_";
                DescargarArchivos(directories, idRazonSocial, diarios);
                string[]      archivos = Directory.GetFiles(@"c:\windows\temp\data_import", idRazonSocial + "*");
                FtpWebRequest ftpRequest;
                foreach (string archivo in archivos)
                {
                    if (RestaurarDatos(archivo))
                    {
                        DAL.DatosDAL.InsertarMovimientos();
                        Char     delimitador = '\\';
                        String[] cadena      = archivo.Split(delimitador);
                        string   borrar      = cadena[4];
                        ftpRequest        = UtilFTP.FtpRequest(@"/datos/" + borrar);
                        ftpRequest.Method = WebRequestMethods.Ftp.DeleteFile;
                        FtpWebResponse respuesta = (FtpWebResponse)ftpRequest.GetResponse();
                    }
                    else
                    {
                        if (intentosGetPOS < 10)
                        {
                            intentosGetPOS++;
                            GetDataPOS(diarios);
                        }
                    }
                }
            }
            if (Directory.Exists(@"c:\windows\temp\data_import"))
            {
                Directory.Delete(@"c:\windows\temp\data_import", true);
            }
        }