Exemple #1
0
 private void ButtonDeletion_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Do you make sure?", "Confirmation", MessageBoxButtons.OKCancel) == DialogResult.OK)
     {
         var fileProcessor = new FileProcessor();
         fileProcessor.DeletionSuccess += (file) =>
         {
             DataAccessHelper.Delete(file.FullName);
             var selected = ResultDataSource.Where(it => it.FilePath == file.FullName);
             for (int i = 0; i < selected.Count(); i++)
             {
                 ResultDataSource.Remove(selected.ElementAt(i));
             }
         };
         fileProcessor.NewMessageArrived += (o) =>
         {
             Library.Message message;
             if (o.TryDequeue(out message))
             {
                 DataAccessHelper.Add(new DataAccess.Message()
                 {
                     FolderPath = message.FolderPath, FilePath = message.FilePath, ExceptionMessage = message.Exception?.Message, ExceptionLog = message.Exception?.ToString(), MessageType = MessageType.Deletion
                 });
             }
         };
         fileProcessor.Delete(GeneratorFileInfos(ResultDataSource.Where(it => it.Checked)));
         DataGridViewResult.Refresh();
     }
 }