public static int Insert(dtoBackupConfiguracaoFTP backupConfiguracaoFTP) { int num; using (SqlConnection connection = new SqlConnection(DataAccess.Configuracao.getConnectionString())) { string cmdText = @"INSERT INTO tbBackupConfiguracaoFTP(idBackupConfiguracaoFTP, dataCadastro, Host, Usuario, Senha, Passivo, caminhoHttp) VALUES(1, GETDATE(), @Host, @Usuario, @Senha, @Passivo, @caminhoHttp);"; SqlCommand command = new SqlCommand(cmdText, connection); ValidaCampos(ref backupConfiguracaoFTP); command.Parameters.AddWithValue("Host", backupConfiguracaoFTP.Host); command.Parameters.AddWithValue("Usuario", backupConfiguracaoFTP.Usuario); command.Parameters.AddWithValue("Senha", backupConfiguracaoFTP.Senha); command.Parameters.AddWithValue("Passivo", backupConfiguracaoFTP.Passivo); command.Parameters.AddWithValue("caminhoHttp", backupConfiguracaoFTP.caminhoHttp); try { connection.Open(); command.ExecuteNonQuery(); num = 1; } catch { throw new ApplicationException("Erro ao inserir registro"); } finally { connection.Close(); } } return(num); }
public static dtoBackupConfiguracaoFTP Get(int idBackupConfiguracaoFTP) { dtoBackupConfiguracaoFTP configuracaoFTP = null; using (SqlConnection connection = new SqlConnection(DataAccess.Configuracao.getConnectionString())) { string cmdText = "SELECT * FROM tbBackupConfiguracaoFTP WHERE idBackupConfiguracaoFTP = @idBackupConfiguracaoFTP"; SqlCommand command = new SqlCommand(cmdText, connection); command.Parameters.AddWithValue("idBackupConfiguracaoFTP", idBackupConfiguracaoFTP); try { connection.Open(); SqlDataReader drSelecionar = command.ExecuteReader(); if (drSelecionar.Read()) { configuracaoFTP = new dtoBackupConfiguracaoFTP(); PreencheCampos(drSelecionar, ref configuracaoFTP); } } catch { throw new ApplicationException("Erro ao capturar registro"); } finally { connection.Close(); } } return(configuracaoFTP); }
private static void PreencheCampos(SqlDataReader drSelecionar, ref dtoBackupConfiguracaoFTP backupConfiguracaoFTP) { if (drSelecionar["idBackupConfiguracaoFTP"] != DBNull.Value) { backupConfiguracaoFTP.idBackupConfiguracaoFTP = Convert.ToInt32(drSelecionar["idBackupConfiguracaoFTP"].ToString()); } if (drSelecionar["dataCadastro"] != DBNull.Value) { backupConfiguracaoFTP.dataCadastro = Convert.ToDateTime(drSelecionar["dataCadastro"]); } else { backupConfiguracaoFTP.dataCadastro = null; } if (drSelecionar["dataUltimaAlteracao"] != DBNull.Value) { backupConfiguracaoFTP.dataUltimaAlteracao = Convert.ToDateTime(drSelecionar["dataUltimaAlteracao"]); } else { backupConfiguracaoFTP.dataUltimaAlteracao = null; } if (drSelecionar["Host"] != DBNull.Value) { backupConfiguracaoFTP.Host = drSelecionar["Host"].ToString(); } if (drSelecionar["Usuario"] != DBNull.Value) { backupConfiguracaoFTP.Usuario = drSelecionar["Usuario"].ToString(); } if (drSelecionar["Senha"] != DBNull.Value) { backupConfiguracaoFTP.Senha = drSelecionar["Senha"].ToString(); } if (drSelecionar["Passivo"] != DBNull.Value) { backupConfiguracaoFTP.Passivo = Convert.ToBoolean(drSelecionar["Passivo"].ToString()); } if (drSelecionar["caminhoHttp"] != DBNull.Value) { backupConfiguracaoFTP.caminhoHttp = drSelecionar["caminhoHttp"].ToString(); } }
public static string DeleteFile(string nomeArquivo) { dtoBackupConfiguracaoFTP configuracaoFTP = bllBackupConfiguracaoFTP.Get(1); string retorno = String.Empty; if (configuracaoFTP != null) { if (configuracaoFTP.Host.Trim() != String.Empty && configuracaoFTP.Usuario.Trim() != String.Empty && configuracaoFTP.Senha.Trim() != String.Empty) { if (configuracaoFTP.Host.IndexOf("ftp:") < 0) { configuracaoFTP.Host = String.Format("{0}{1}", @"ftp://", configuracaoFTP.Host); } if (configuracaoFTP.Host.Trim().LastIndexOf("/") != configuracaoFTP.Host.Trim().Length - 1) { configuracaoFTP.Host = String.Format("{0}{1}", configuracaoFTP.Host, @"/"); } //FTP Server URL. string ftp = configuracaoFTP.Host; //FTP Folder name. Leave blank if you want to list files from root folder. string ftpFolder = ""; FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp + ftpFolder + nomeArquivo); request.Method = WebRequestMethods.Ftp.DeleteFile; request.Credentials = new NetworkCredential(configuracaoFTP.Usuario, configuracaoFTP.Senha); using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { retorno = response.StatusDescription; } } } return(retorno); }
private static void ValidaCampos(ref dtoBackupConfiguracaoFTP backupConfiguracaoFTP) { if (string.IsNullOrEmpty(backupConfiguracaoFTP.Host)) { backupConfiguracaoFTP.Host = string.Empty; } if (string.IsNullOrEmpty(backupConfiguracaoFTP.Usuario)) { backupConfiguracaoFTP.Usuario = string.Empty; } if (string.IsNullOrEmpty(backupConfiguracaoFTP.Senha)) { backupConfiguracaoFTP.Senha = string.Empty; } if (string.IsNullOrEmpty(backupConfiguracaoFTP.caminhoHttp)) { backupConfiguracaoFTP.caminhoHttp = string.Empty; } }
public static void Update(dtoBackupConfiguracaoFTP backupConfiguracaoFTP) { using (SqlConnection connection = new SqlConnection(DataAccess.Configuracao.getConnectionString())) { string cmdText = @"UPDATE tbBackupConfiguracaoFTP SET Host=@Host, Usuario=@Usuario, Senha=@Senha, Passivo=@Passivo, dataUltimaAlteracao = getdate(), caminhoHttp=@caminhoHttp WHERE idBackupConfiguracaoFTP = 1;"; SqlCommand command = new SqlCommand(cmdText, connection); ValidaCampos(ref backupConfiguracaoFTP); command.Parameters.AddWithValue("Host", backupConfiguracaoFTP.Host); command.Parameters.AddWithValue("Usuario", backupConfiguracaoFTP.Usuario); command.Parameters.AddWithValue("Senha", backupConfiguracaoFTP.Senha); command.Parameters.AddWithValue("Passivo", backupConfiguracaoFTP.Passivo); command.Parameters.AddWithValue("caminhoHttp", backupConfiguracaoFTP.caminhoHttp); try { connection.Open(); command.ExecuteNonQuery(); } catch { throw new ApplicationException("Erro ao atualizar registro"); } finally { connection.Close(); } } }
protected string RetornaUrlBackup(object nomeArquivo) { string Retorno = String.Empty; if (nomeArquivo != null) { dtoBackupConfiguracaoFTP configuracaoFTP = bllBackupConfiguracaoFTP.Get(1); if (configuracaoFTP != null) { if (configuracaoFTP.Host.Trim() != String.Empty && configuracaoFTP.Usuario.Trim() != String.Empty && configuracaoFTP.Senha.Trim() != String.Empty) { if (configuracaoFTP.Host.IndexOf("ftp:") < 0) { configuracaoFTP.Host = String.Format("{0}{1}", @"ftp://", configuracaoFTP.Host); } if (configuracaoFTP.Host.Trim().LastIndexOf("/") != configuracaoFTP.Host.Trim().Length - 1) { configuracaoFTP.Host = String.Format("{0}{1}", configuracaoFTP.Host, @"/"); } //FTP Server URL. string ftp = configuracaoFTP.Host; //FTP Folder name. Leave blank if you want to list files from root folder. string ftpFolder = ""; Retorno = String.Format("{0}{1}{2}", ftp, ftpFolder, nomeArquivo.ToString()); } } } return(Retorno); }
public static List <dtoBackup> GetAll(string SortExpression) { List <dtoBackup> backups = new List <dtoBackup>(); dtoBackupConfiguracaoFTP configuracaoFTP = bllBackupConfiguracaoFTP.Get(1); if (configuracaoFTP != null) { if (configuracaoFTP.Host.Trim() != String.Empty && configuracaoFTP.Usuario.Trim() != String.Empty && configuracaoFTP.Senha.Trim() != String.Empty) { if (configuracaoFTP.Host.IndexOf("ftp:") < 0) { configuracaoFTP.Host = String.Format("{0}{1}", @"ftp://", configuracaoFTP.Host); } if (configuracaoFTP.Host.Trim().LastIndexOf("/") != configuracaoFTP.Host.Trim().Length - 1) { configuracaoFTP.Host = String.Format("{0}{1}", configuracaoFTP.Host, @"/"); } //FTP Server URL. string ftp = configuracaoFTP.Host; //FTP Folder name. Leave blank if you want to list files from root folder. string ftpFolder = ""; try { //Create FTP Request. FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp + ftpFolder); request.Method = WebRequestMethods.Ftp.ListDirectoryDetails; //Enter FTP Server credentials. request.Credentials = new NetworkCredential(configuracaoFTP.Usuario, configuracaoFTP.Senha); request.UsePassive = configuracaoFTP.Passivo; request.UseBinary = true; request.EnableSsl = false; //Fetch the Response and read it using StreamReader. FtpWebResponse response = (FtpWebResponse)request.GetResponse(); List <string> entries = new List <string>(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { //Read the Response as String and split using New Line character. entries = reader.ReadToEnd().Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList(); } response.Close(); //Loop and add details of each File to the DataTable. foreach (string entry in entries) { string[] splits = entry.Split(new string[] { " ", }, StringSplitOptions.RemoveEmptyEntries); //Determine whether entry is for File or Directory. bool isFile = (splits[0].Substring(0, 1) != "d" && splits[3].IndexOf("ftpaccess") < 0); bool isDirectory = splits[0].Substring(0, 1) == "d"; //If entry is for File, add details to DataTable. if (isFile) { string[] splitData = splits[0].Split(new string[] { "-", }, StringSplitOptions.RemoveEmptyEntries); dtoBackup backup = new dtoBackup(); backup.tamanhoArquivo = ((decimal.Parse(splits[2]) / 1024) / 1024); backup.nomeArquivo = splits[3]; backup.dataArquivo = Convert.ToDateTime(string.Join(" ", string.Join("/", splitData[1], splitData[0], splitData[2]), splits[1])); backup.caminhoHttp = configuracaoFTP.caminhoHttp; backups.Add(backup); } } if (backups.Count > 0) { switch (SortExpression.ToUpper()) { case "DATAARQUIVO": backups = backups.OrderBy(o => o.dataArquivo).ToList(); break; case "DATAARQUIVO DESC": backups = backups.OrderByDescending(o => o.dataArquivo).ToList(); break; case "NOMEARQUIVO": backups = backups.OrderBy(o => o.nomeArquivo).ToList(); break; case "NOMEARQUIVO DESC": backups = backups.OrderByDescending(o => o.nomeArquivo).ToList(); break; case "TAMANHOARQUIVO": backups = backups.OrderBy(o => o.tamanhoArquivo).ToList(); break; case "TAMANHOARQUIVO DESC": backups = backups.OrderByDescending(o => o.tamanhoArquivo).ToList(); break; default: break; } } //Bind the GridView. return(backups); } catch (WebException ex) { throw new Exception((ex.Response as FtpWebResponse).StatusDescription); } } else { return(null); } } else { return(null); } }
protected void linkDownloadArquivo_Click(object sender, EventArgs e) { dtoBackupConfiguracaoFTP configuracaoFTP = bllBackupConfiguracaoFTP.Get(1); if (configuracaoFTP != null) { if (configuracaoFTP.Host.Trim() != String.Empty && configuracaoFTP.Usuario.Trim() != String.Empty && configuracaoFTP.Senha.Trim() != String.Empty) { if (configuracaoFTP.Host.IndexOf("ftp:") < 0) { configuracaoFTP.Host = String.Format("{0}{1}", @"ftp://", configuracaoFTP.Host); } if (configuracaoFTP.Host.Trim().LastIndexOf("/") != configuracaoFTP.Host.Trim().Length - 1) { configuracaoFTP.Host = String.Format("{0}{1}", configuracaoFTP.Host, @"/"); } string fileName = (sender as LinkButton).CommandArgument; //FTP Server URL. string ftp = configuracaoFTP.Host; string ftpFolder = ""; try { //Create FTP Request. FtpWebRequest request = (FtpWebRequest)WebRequest.Create(String.Format("{0}{1}{2}", ftp, ftpFolder, fileName)); request.Method = WebRequestMethods.Ftp.DownloadFile; //Enter FTP Server credentials. request.Credentials = new NetworkCredential(configuracaoFTP.Usuario, configuracaoFTP.Senha); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream); Console.WriteLine(reader.ReadToEnd()); //Console.WriteLine("Download Complete, status {0}", response.StatusDescription); reader.Close(); response.Close(); //request.UsePassive = configuracaoFTP.Passivo; //request.UseBinary = true; //request.EnableSsl = false; ////request.KeepAlive = true; ////Fetch the Response and read it into a MemoryStream object. //FtpWebResponse response = (FtpWebResponse)request.GetResponse(); //using (MemoryStream stream = new MemoryStream()) //{ // //Download the File. // response.GetResponseStream().CopyTo(stream); // Response.AddHeader("content-disposition", "attachment;filename=" + fileName); // Response.AddHeader("Content-Length", stream.Length.ToString()); // Response.Cache.SetCacheability(HttpCacheability.NoCache); // Response.BinaryWrite(stream.ToArray()); // //Response.End(); // Response.Flush(); // Response.Close(); //} //using (FileStream outputStream = new FileStream(fileName, FileMode.OpenOrCreate)) //using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) //using (Stream ftpStream = response.GetResponseStream()) //{ // int bufferSize = 2048; // int readCount; // byte[] buffer = new byte[bufferSize]; // readCount = ftpStream.Read(buffer, 0, bufferSize); // while (readCount > 0) // { // outputStream.Write(buffer, 0, readCount); // readCount = ftpStream.Read(buffer, 0, bufferSize); // } //} } catch (WebException ex) { throw new Exception((ex.Response as FtpWebResponse).StatusDescription); } } } }