コード例 #1
0
 public ExecutedTaskHandler(ExecutedTaskData _executedTaskData, List <string> _ipAddresses, ListView _listViewAll, ListView _listViewSelected, ListView _listViewTaskDetailsProgress)
 {
     this.executedTaskData            = _executedTaskData;
     this.ipAddresses                 = _ipAddresses;
     this.listViewAll                 = _listViewAll;
     this.listViewSelected            = _listViewSelected;
     this.listViewTaskDetailsProgress = _listViewTaskDetailsProgress;
     handlers = new List <ExecutedTaskHandler>();
 }
コード例 #2
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     if (executedTaskData != null)
     {
         executedTaskData = FileHandler.Load <ExecutedTaskData>(executedTaskData.GetFileName());
         foreach (ProgressComputerData progressComputerData in executedTaskData.progressComputerData)
         {
             listViewProgressDetails.Items.Add(progressComputerData);
         }
     }
 }
コード例 #3
0
 public ComputerInTaskHandler(ExecutedTaskData _executedTaskData, List <ClientHandler> _clients, int _index, List <string> _ipAddresses, Semaphore _semaphoreFotSaveFile, ListView _listViewAll, ListView _listViewSelected)
 {
     step = "WAITING FO ACK";
     semaphoreForTask.WaitOne();
     this.executedTaskData     = _executedTaskData;
     this.clients              = _clients;
     this.index                = _index;
     this.ipAddresses          = _ipAddresses;
     this.taskData             = executedTaskData.taskData;
     this.semaphoreForSaveFile = _semaphoreFotSaveFile;
     this.listViewAll          = _listViewAll;
     this.listViewSelected     = _listViewSelected;
     receivePacket             = new Packet(DataIdentifier.CLOSE);
     computer = executedTaskData.taskData.TargetComputers[index];
 }
コード例 #4
0
 private void RemoveFromListViewTaskProgress()
 {
     for (int i = listViewTaskDetailsProgress.Items.Count - 1; i >= 0; i--)
     {
         ExecutedTaskData item = (ExecutedTaskData)listViewTaskDetailsProgress.Items[i];
         if (item.Name == executedTaskData.Name && item.Started == executedTaskData.Started)
         {
             Application.Current.Dispatcher.Invoke(() =>
             {
                 listViewTaskDetailsProgress.Items.Remove(item);
             });
             break;
         }
     }
 }
コード例 #5
0
 private void MenuItemDetailsDeleteAll_Click(object sender, RoutedEventArgs e)
 {
     if (listViewTasksDetails.SelectedItems.Count != 0)
     {
         for (int i = listViewTasksDetails.Items.Count - 1; i >= 0; i--)
         {
             ExecutedTaskData taskDetails = (ExecutedTaskData)listViewTasksDetails.Items[i];
             if (taskDetails.Status != "Images/Progress.ico")
             {
                 string path = taskDetails.GetFileName();
                 if (File.Exists(path))
                 {
                     File.Delete(path);
                     listViewTaskDetailsHandler.Refresh();
                 }
             }
             else
             {
                 bool exist = false;
                 for (int j = ExecutedTasksHandlers.Count - 1; j >= 0; j--)
                 {
                     ExecutedTaskHandler item = ExecutedTasksHandlers[j];
                     if (item.executedTaskData.Name == taskDetails.Name && item.executedTaskData.Started == taskDetails.Started)
                     {
                         exist = true;
                         break;
                     }
                 }
                 if (!exist)
                 {
                     string path = taskDetails.GetFileName();
                     if (File.Exists(path))
                     {
                         File.Delete(path);
                         listViewTaskDetailsHandler.Refresh();
                     }
                 }
             }
         }
     }
 }
コード例 #6
0
 public ComputerInTaskHandler(ExecutedTaskData _executedTaskData, int _index, List <string> _ipAddresses, Semaphore _semaphoreFotSaveFile, ListView _listViewAll, ListView _listViewSelected, List <string> _MailsTo)
 {
     try
     {
         step = "WAITING FOR ACK";
         this.executedTaskData     = _executedTaskData;
         this.index                = _index;
         this.ipAddresses          = _ipAddresses;
         this.taskData             = executedTaskData._TaskData;
         this.semaphoreForSaveFile = _semaphoreFotSaveFile;
         this.listViewAll          = _listViewAll;
         this.listViewSelected     = _listViewSelected;
         this.MailsTo              = _MailsTo;
         receivePacket             = new Packet(FLAG.Null);
         computer = executedTaskData._TaskData.TargetComputers[index];
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
コード例 #7
0
        private void RunTask(TaskOptions dialog)
        {
            ExecutedTaskData executedTask = new ExecutedTaskData();

            executedTask.Name         = dialog.taskData.Name;
            executedTask.Status       = "Images/Progress.ico";
            executedTask.Started      = dialog.taskData.LastExecuted;
            executedTask.Finished     = "NONE";
            executedTask.Clients      = dialog.taskData.TargetComputers.Count.ToString();
            executedTask.Done         = "0";
            executedTask.Failed       = "0";
            executedTask.MachineGroup = dialog.taskData.MachineGroup;
            executedTask.taskData     = dialog.taskData;
            ExecutedTaskHandler taskHandler = new ExecutedTaskHandler(executedTask, ipAddresses, listViewComputersProgressAll, listViewComputersProgressSelected, listViewTaskDetailsProgress);

            ExecutedTasksHandlers.Add(taskHandler);
            taskHandler.handlers        = ExecutedTasksHandlers;
            taskHandler.listViewHandler = listViewTaskDetailsHandler;
            taskHandler.clients         = listViewMachinesAndTasksHandler.clients;
            Thread taskHandlerThread = new Thread(taskHandler.Start);

            taskHandlerThread.Start();
        }