예제 #1
0
 /// <summary>
 /// Cette méthode s'exécute lorsque l'utilisateur à cliquer sur le bouton "Supprimer"
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_Supprimer_Click(object sender, EventArgs e)
 {
     try
     {
         DialogResult result = MessageBox.Show("Êtes-vous sûr de vouloir supprimer les fichiers séléctionnés ?\nCette action est irréversible", "SBiiXpress - Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
         //Affichage d'un message de confirmation
         if (result == DialogResult.Yes)
         {
             //Si l'utilisateur valide alors on supprime les fichers qu'il a sélectionné
             foreach (DataGridViewRow d in dGV_Telechargement.Rows)
             {
                 //Pour chaque lignes du DataGridView
                 if (Convert.ToBoolean(d.Cells[ColumnCheckBox.Name].Value) == true && d.Cells[ColumnType.Name].Value.ToString() == "Fichier")
                 {
                     //Si la ligne actuelle a été cochée par l'utilisateur et si le contenu de la cellule "Type" est égal à "Fichier"
                     Files[d.Index].Delete(); //Alors on supprime
                 }
                 else
                 {
                     if (Convert.ToBoolean(d.Cells[ColumnCheckBox.Name].Value) == true && d.Cells[ColumnType.Name].Value.ToString() == "Dossier")
                     {
                         //Sinon, si la ligne actuelle a été cochée et que le contenu de la cellule "Type" est égal à "Dossier"
                         foreach (DirectoryInfo dir in Directories)
                         {
                             //Alors on parcours les sous-dossiers du dossier de téléchargement, stockés dans dir
                             if (dir.Name.ToString() == d.Cells[ColumnNom.Name].Value.ToString())
                             {
                                 //Si le nom du dossier actuel dans le dossier de téléchargement est égal au nom du fichier contenu dans la ligne du DataGridView
                                 dir.Delete(true); //Alors on supprime en désactivant la confirmation
                             }
                         }
                     }
                 }
             }
             CleanerXpress.EspaceAp = Gestion_Verification.EspaceLibre();
             MessageBox.Show("Le traitement est mainteant terminé, l'opération a permis de libérer " + Gestion_Verification.CalculEspaceLibere() + " Mo", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
             Gestion_Verification.Ecriture_Log();
             dGV_Telechargement.Rows.Clear();
             Telechargements_Load(sender, e);
         }
     }
     catch (Exception err)
     {
         //En cas d'erreur, affichage d'un message
         MessageBox.Show(err.Message);
     }
 }
예제 #2
0
        /// <summary>
        /// Cette méthode gère la suppression automatique des fichiers
        /// </summary>
        /// <param name="folder"></param>
        public static void SuppressAuto(string folder)
        {
            int    i = 0;
            double espaceAv, espaceAp = 0;

            espaceAv    = Gestion_Verification.EspaceLibre();
            dinfo       = new DirectoryInfo(folder); //On récupère l'emplacement du dossier de téléchargement
            Directories = dinfo.GetDirectories();
            Files       = dinfo.GetFiles();
            foreach (FileInfo file in Files)
            {
                //Pour chaque fichiers du dossier de téléchargement
                if (file.Extension == ".exe" || file.Extension == ".msi")
                {
                    //Si l'extension du ficher actuel est .exe ou .msi
                    i++;
                    file.Delete(); //Alors on le supprime
                }
                if ((Convert.ToInt16(file.LastAccessTime.Month) - Convert.ToInt16(DateTime.Now.Month) >= 2))
                {
                    //Si la date de dernier accès du ficher actuel est supérieur à 2 mois
                    i++;
                    file.Delete(); //Alors on le supprime
                }
            }
            if (i != 0)
            {
                //Si au moins un fichier a été supprimé, alors on affiche un message avec la taille libérée
                CleanerXpress.EspaceAp = Gestion_Verification.EspaceLibre();
                MessageBox.Show("Le traitement est terminé, " + Gestion_Verification.CalculEspaceLibere() + " Mo ont été libérés", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                if (i == 0)
                {
                    //Sinon on affiche un message qui annonce qu'aucun fichier n'a été supprimé
                    espaceAp = espaceAv;
                    MessageBox.Show("Aucun fichier n'a été supprimé car aucun ne correspondait à nos critères de sélection", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            Gestion_Verification.Ecriture_Log();
        }