示例#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);
        }
示例#2
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);
            }
        }