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();
            }
        }
Esempio n. 4
0
        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();
                }
            }
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
            }
        }
Esempio n. 9
0
        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);
                    }
                }
            }
        }