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); }
// 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; }
// 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); } }