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()); }); } }
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(); } } } } }
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; } } } }
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(); } } } } } }
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(); }