Esempio n. 1
0
 private void FindComputerInTask(Packet packet, Connection connection, bool failed)
 {
     try
     {
         bool exist = false;
         for (int i = executedTasksHandlers.Count - 1; i >= 0; i--)
         {
             ExecutedTaskHandler executedTaskHandler = executedTasksHandlers[i];
             for (int j = executedTaskHandler.computers.Count - 1; j >= 0; j--)
             {
                 ComputerInTaskHandler computer = executedTaskHandler.computers[j];
                 if (CheckMacsInREC(computer.computer.macAddresses, packet.computerDetailsData.macAddresses))
                 {
                     computer.ClientsDictionary = ClientsDictionary;
                     computer.receivePacket     = packet;
                     computer.connection        = connection;
                     if (computer.cloning)
                     {
                         try
                         {
                             computer.semaphoreForCloning.Release();
                         }
                         catch (Exception ex)
                         {
                             Application.Current.Dispatcher.Invoke(() =>
                             {
                                 console.Items.Add("PROBLEM LISTENER CHYBA Sempahore release: " + ex.ToString());
                             });
                         }
                     }
                     if (failed)
                     {
                         computer.Failed(packet.clonningMessage);
                     }
                     exist = true;
                     break;
                 }
             }
             if (exist)
             {
                 break;
             }
         }
     }
     catch (Exception ex)
     {
         Application.Current.Dispatcher.Invoke(() =>
         {
             console.Items.Add("PROBLEM LISTENER CHYBA 4: " + ex.ToString());
         });
     }
 }
Esempio n. 2
0
 private void MenuItemDetailsStop_Click(object sender, RoutedEventArgs e)
 {
     if (listViewTasksDetails.SelectedItem != null)
     {
         var taskDetails = (ExecutedTaskData)listViewTasksDetails.SelectedItem;
         if (taskDetails.Status == "Images/Progress.ico")
         {
             for (int i = ExecutedTasksHandlers.Count - 1; i >= 0; i--)
             {
                 ExecutedTaskHandler executedTaskDataHandler = ExecutedTasksHandlers[i];
                 if (executedTaskDataHandler.executedTaskData.Name == taskDetails.Name && executedTaskDataHandler.executedTaskData.Started == taskDetails.Started)
                 {
                     executedTaskDataHandler.Stop();
                 }
             }
         }
     }
 }
Esempio n. 3
0
 private void FindComputerInTask()
 {
     for (int i = 0; i < executedTasksHandlers.Count; i++)
     {
         ExecutedTaskHandler executedTaskHandler = executedTasksHandlers[i];
         foreach (ComputerInTaskHandler computer in executedTaskHandler.computers)
         {
             if (CheckMacsInREC(computer.computer.macAddresses, macAddresses))
             {
                 computerInTaskHandler                    = computer;
                 computerInTaskHandler.client             = this;
                 computerInTaskHandler.receivePacket      = receivePacket;
                 computerInTaskHandler.computerConfigData = computerConfigData;
                 break;
             }
         }
     }
 }
Esempio n. 4
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();
                     }
                 }
             }
         }
     }
 }
Esempio n. 5
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();
        }