private int GetIndexOfItemFromList(ListView listView) { try { for (int i = listView.Items.Count - 1; i >= 0; i--) { ProgressComputerData item = (ProgressComputerData)listView.Items[i]; if (item.Task_ID == executedTaskData.GetFileName()) { if (item.ComputerName == computer.Name) { if (item.MacAddress == "") { return(i); } else { if (item.MacAddress == computer.MacAddress) { return(i); } } } } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } return(-1); }
private void ChangeProgressData(string _step) { try { step = _step; Application.Current.Dispatcher.Invoke(() => { progressComputerData = new ProgressComputerData("", computer.Name, step, executedTaskData.GetFileName(), "", computer.MacAddress); int index = GetIndexOfItemFromList(listViewAll); if (index != -1) { listViewAll.Items[index] = progressComputerData; } index = GetIndexOfItemFromList(listViewSelected); if (index != -1) { listViewSelected.Items[index] = progressComputerData; } }); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
public void Failed(string Message = "Expired waiting time") { try { if (!failed && !stopped) { failed = true; if (stopped) { progressComputerData = new ProgressComputerData("Images/Stopped.ico", computer.Name, stepDataIdentifier1.ToString(), executedTaskData.GetFileName(), Message, computer.MacAddress); } else { progressComputerData = new ProgressComputerData("Images/Failed.ico", computer.Name, stepDataIdentifier1.ToString(), executedTaskData.GetFileName(), Message, computer.MacAddress); } SaveProgress(); } if (tCP_UNICAST != null) { tCP_UNICAST.DestroyConnection(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void CheckFlags(FLAG _stepDataIdentifier1, Packet packet, FLAG _stepDataIdentifier2 = FLAG.CLOSE, int WaitingTime = 5000) { try { stepDataIdentifier1 = _stepDataIdentifier1; stepDataIdentifier2 = _stepDataIdentifier2; receivePacket.ID = FLAG.Null; ChangeProgressData(stepDataIdentifier1.ToString()); try { if (connection != null) { SendMessage(packet, connection); } } catch { connection = null; } Thread.Sleep(1000); while (receivePacket.ID != stepDataIdentifier1 && receivePacket.ID != stepDataIdentifier2 && !stopped) { if (stopped || failed) { return; } try { if (connection != null) { SendMessage(packet, connection); } } catch { connection = null; } if ((receivePacket.ID == FLAG.SYN_FLAG || receivePacket.ID == FLAG.SYN_FLAG_WINPE) && (receivePacket.ID != stepDataIdentifier1 || receivePacket.ID != stepDataIdentifier2)) { cloneFaildMessage = "CLIENT NEED RESTART"; restart = true; return; } Thread.Sleep(WaitingTime); } if (!failed && !stopped) { progressComputerData = new ProgressComputerData("Images/Done.ico", computer.Name, receivePacket.ID.ToString(), executedTaskData.GetFileName(), "", computer.MacAddress); } SaveProgress(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void SaveProgress(ProgressComputerData progress) { if (progress.Step != "Null") { semaphoreForSaveFile.WaitOne(); executedTaskData.progressComputerData.Add(progress); FileHandler.Save(executedTaskData, executedTaskData.GetFileName()); semaphoreForSaveFile.Release(); } }
private int GetIndexOfItemFromList(ListView listView) { for (int i = listView.Items.Count - 1; i >= 0; i--) { ProgressComputerData item = (ProgressComputerData)listView.Items[i]; if (item.ComputerName == computer.Name && item.MacAddress == computer.MacAddress) { return(i); } } return(-1); }
public void RemoveFromListViewSelected() { int index = GetIndexOfItemFromList(listViewSelected); if (index != -1) { Application.Current.Dispatcher.Invoke(() => { ProgressComputerData item = (ProgressComputerData)listViewSelected.Items[index]; listViewSelected.Items.Remove(item); }); } }
public void RemoveFromListViewSelected() { try { int index = GetIndexOfItemFromList(listViewSelected); if (index != -1) { Application.Current.Dispatcher.Invoke(() => { ProgressComputerData item = (ProgressComputerData)listViewSelected.Items[index]; listViewSelected.Items.Remove(item); }); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void CloningImage() { if (taskData.Cloning) { if (!RunAndWait(ClientToWinpe)) { Failed(); return; } Configuration(); if (!RunAndWait(SendTaskDataFile)) { Failed(); return; } if (!RunAndWait(ClientStartCloning)) { Failed(); return; } WaitForCloningDone(); if (receivePacket.ID == FLAG.RESTART || receivePacket.ID == FLAG.SYN_FLAG_WINPE || restart) { progressComputerData = new ProgressComputerData("Images/Failed.ico", computer.Name, "RESTART CLONNIG", executedTaskData.GetFileName(), cloneFaildMessage, computer.MacAddress); SaveProgress(); return; } SoftwareAndFileActionsWinPE(); if (!RunAndWait(ClientToOperatingSystem)) { Failed(); return; } } else { SoftwareAndFileActionsWinPE(); } }