public Packet(DataIdentifier _ID, ComputerDetailsData _computerDetailsData, string _message) { this.dataIdentifier = _ID; this.computerDetailsData = _computerDetailsData; this.IDTime = DateTime.Now; this.clonningMessage = _message; }
private void SaveComputerData(ComputerDetailsData computerDetailsData) { string IP = ((IPEndPoint)clientSocket.Client.RemoteEndPoint).Address.ToString(); computerDetailsData.IPAddress = IP; computerData = computerDetailsData; var computersInfoFiles = Directory.GetFiles(@".\Machine Groups\", "*.my", SearchOption.AllDirectories); clientsAll = computersInfoFiles.Length; Application.Current.Dispatcher.Invoke(() => { labelAllClients.Content = "Clients: " + clientsAll; }); var filePath = GetFileNameByMac(computersInfoFiles); computerConfigData = new ComputerConfigData(computerData.RealPCName, "Workgroup"); if (filePath != "") { computerData.Name = Path.GetFileName(filePath).Replace(".my", ""); FileHandler.Save <ComputerDetailsData>(computerData, filePath); if (!File.Exists(filePath.Replace(".my", ".cfg"))) { FileHandler.Save <ComputerConfigData>(computerConfigData, filePath.Replace(".my", ".cfg")); } else { computerConfigData = FileHandler.Load <ComputerConfigData>(filePath.Replace(".my", ".cfg")); } } else { computerData.Name = computerData.RealPCName; bool exist = false; foreach (string computerFile in computersInfoFiles) { if (computerFile == @".\Machine Groups\Default\" + computerData.RealPCName + ".my") { exist = true; break; } } if (!exist) { filePath = @".\Machine Groups\Default\" + computerData.RealPCName + ".my"; } else { filePath = @".\Machine Groups\Default\" + computerData.RealPCName + "-NEW.my"; } FileHandler.Save <ComputerDetailsData>(computerData, filePath); FileHandler.Save <ComputerConfigData>(computerConfigData, filePath.Replace(".my", ".cfg")); } }
private void RenameItem(ComputerDetailsData oldItem) { if (oldItem != null) { string oldPath = treeViewMachinesAndTasksHandler.GetNodePath() + "\\" + oldItem.Name; if (oldPath == LockPath || oldPath == DefaultPath) { MessageBox.Show("Cannot rename this folder", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } var renameItemDialog = new EditItem(); renameItemDialog.textBoxNewName.Text = oldItem.Name; renameItemDialog.labelOldName.Content = oldItem.Name; foreach (ComputerDetailsData item in listViewMachineGroups.Items) { if (item.ImageSource == oldItem.ImageSource) { renameItemDialog.Names.Add(item.Name); } } renameItemDialog.ShowDialog(); if (!renameItemDialog.cancel) { string path = treeViewMachinesAndTasksHandler.GetNodePath() + "\\" + renameItemDialog.textBoxNewName.Text; if (oldItem.ImageSource.Contains("Folder")) { if (Directory.Exists(path)) { Directory.Move(oldPath, path); } treeViewMachinesAndTasksHandler.RenameItem(oldItem.Name, renameItemDialog.textBoxNewName.Text); } else { oldPath += ".my"; path += ".my"; ComputerDetailsData machineData = FileHandler.Load <ComputerDetailsData>(oldPath); machineData.Name = renameItemDialog.textBoxNewName.Text; if (File.Exists(oldPath)) { File.Move(oldPath, path); } if (File.Exists(oldPath.Replace(".my", ".cfg"))) { File.Move(oldPath.Replace(".my", ".cfg"), path.Replace(".my", ".cfg")); } FileHandler.Save <ComputerDetailsData>(machineData, path); } listViewMachinesAndTasksHandler.Refresh(); } } }
private void DartViewer(ComputerDetailsData computer) { try { string temp = computer.dartInfo; string[] details = temp.Split('#'); string ticket = details[0]; string port = details[2]; string IPAdd = details[1]; System.Diagnostics.Process.Start(@"C:\Windows\Sysnative\DartRemoteViewer.exe", "-ticket=" + ticket + " -IPaddress=" + IPAdd + " -port=" + port); } catch (Exception e) { MessageBox.Show(e.ToString()); } }
public void startClient(TcpClient inClientSocket, int _clientNumber, List <ClientHandler> _clients, Label _labelOnline, Label _labelOffline, ListViewMachinesAndTasksHandler _listViewMachinesAndTasksHandler, List <ExecutedTaskHandler> _executedTasksHandlers, Label _labelAllClients) { this.clientSocket = inClientSocket; this.clientNumber = _clientNumber; this.offline = false; this.clients = _clients; this.labelOnline = _labelOnline; this.labelOffline = _labelOffline; this.listViewMachinesAndTasksHandler = _listViewMachinesAndTasksHandler; this.executedTasksHandlers = _executedTasksHandlers; this.labelAllClients = _labelAllClients; Thread ctThread = new Thread(doChat); computerData = new ComputerDetailsData(); ctThread.Start(); }
private void Window_Loaded(object sender, RoutedEventArgs e) { computerFilePath = computerPath + ".my"; computerConfigFilePath = computerPath + ".cfg"; if (File.Exists(computerFilePath)) { computerData = FileHandler.Load <ComputerDetailsData>(computerFilePath); listBox.ItemsSource = computerData.GetItems(); } if (File.Exists(computerConfigFilePath)) { computerConfigData = FileHandler.Load <ComputerConfigData>(computerConfigFilePath); textBoxComputerName.Text = computerConfigData.Name; textBoxWorkGroup.Text = computerConfigData.Workgroup; } }
private void BtnCreateRDPs_Click(object sender, RoutedEventArgs e) { _RDPLastUsedSettings.GateWay = TextBoxGateWay.Text; _RDPLastUsedSettings.RDSLogin = TextBoxRdsLogin.Text; _RDPLastUsedSettings.RDSPassword = TextBoxRdsPassword.Text; _RDPLastUsedSettings.LocalLogin = TextBoxLocalLogin.Text; _RDPLastUsedSettings.LocalPassword = TextBoxLocalPassword.Text; FileHandler.Save(_RDPLastUsedSettings, RDPLastUsedSettingsPath); for (int i = list.Items.Count - 1; i >= 0; i--) { ComputerDetailsData computer = (ComputerDetailsData)list.Items[i]; CreateRDP(computer.IPAddress, nodePath + "\\" + computer.Name + ".rdp", TempFile); } File.WriteAllText(nodePath + "\\_Logins.txt", "1.st authentication(*rds.class.skola.cz)\r\nLogin: "******"\r\nPassword: "******"\r\n\r\n2.nd authentication\r\nLogin: "******"\r\nPassword: " + _RDPLastUsedSettings.LocalPassword); System.Diagnostics.Process.Start(nodePath); this.Close(); }
private void SetOffline(ListView list, ShortGuid remoteIdentifier) { try { for (int i = list.Items.Count - 1; i >= 0; i--) { ComputerDetailsData computer = (ComputerDetailsData)list.Items[i]; if (computer.macAddresses != null && ClientsDictionary[remoteIdentifier].ComputerData.macAddresses != null && CheckMacsInREC(computer.macAddresses, ClientsDictionary[remoteIdentifier].ComputerData.macAddresses)) { computer.ImageSource = "Images/Offline.ico"; list.Items.RemoveAt(i); list.Items.Insert(i, computer); break; } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void SetOnline(ListView list, Packet packet) { try { for (int i = list.Items.Count - 1; i >= 0; i--) { try { ComputerDetailsData computer = (ComputerDetailsData)list.Items[i]; if (!computer.ImageSource.Contains("Folder")) { if (CheckMacsInREC(computer.macAddresses, packet.computerDetailsData.macAddresses)) { if (packet.computerDetailsData.inWinpe) { packet.computerDetailsData.ImageSource = "Images/WinPE.ico"; } else { packet.computerDetailsData.ImageSource = "Images/Online.ico"; } packet.computerDetailsData.PostInstalls = packet.computerConfigData.PostInstalls; list.Items.RemoveAt(i); list.Items.Insert(i, packet.computerDetailsData); break; } } } catch (Exception e) { MessageBox.Show("BEZIM: " + e.ToString()); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void DeleteItem() { MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Are you sure?", "Delete Confirmation", System.Windows.MessageBoxButton.YesNo); if (messageBoxResult == MessageBoxResult.Yes) { if (listViewMachineGroups.Visibility == Visibility.Visible) { for (int i = listViewMachineGroups.SelectedItems.Count - 1; i >= 0; i--) { ComputerDetailsData item = (ComputerDetailsData)listViewMachineGroups.SelectedItems[i]; if (item.ImageSource.Contains("Folder")) { string path = treeViewMachinesAndTasksHandler.GetNodePath() + "\\" + item.Name; if (path != LockPath && path != DefaultPath) { var computersInfoFiles = Directory.GetFiles(treeViewMachinesAndTasksHandler.GetNodePath(), "*.my", SearchOption.AllDirectories); foreach (string computerFile in computersInfoFiles) { var computerData = FileHandler.Load <ComputerDetailsData>(computerFile); for (int j = listViewMachinesAndTasksHandler.clients.Count - 1; j >= 0; j--) { ClientHandler client = listViewMachinesAndTasksHandler.clients[j]; if (client.CheckMacsInREC(client.macAddresses, computerData.macAddresses)) { client.SendMessage(new Packet(DataIdentifier.CLOSE)); client.deleting = true; break; } } } if (Directory.Exists(path)) { Directory.Delete(path, true); } treeViewMachinesAndTasksHandler.RemoveItem(item.Name); } else { MessageBox.Show("Cannot delete this folder", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } } else { string path = treeViewMachinesAndTasksHandler.GetNodePath() + "\\" + item.Name + ".my"; for (int j = listViewMachinesAndTasksHandler.clients.Count - 1; j >= 0; j--) { ClientHandler client = listViewMachinesAndTasksHandler.clients[j]; if (client.CheckMacsInREC(client.macAddresses, item.macAddresses)) { client.SendMessage(new Packet(DataIdentifier.CLOSE)); client.deleting = true; break; } } if (File.Exists(path)) { File.Delete(path); } if (File.Exists(path.Replace(".my", ".cfg"))) { File.Delete(path.Replace(".my", ".cfg")); } } } } else { for (int i = listViewTasks.SelectedItems.Count - 1; i >= 0; i--) { TaskData item = (TaskData)listViewTasks.SelectedItems[i]; if (item.ImageSource.Contains("Folder")) { string path = treeViewMachinesAndTasksHandler.GetNodePath() + "\\" + item.Name; if (Directory.Exists(path)) { Directory.Delete(path, true); } treeViewMachinesAndTasksHandler.RemoveItem(item.Name); } else { string path = treeViewMachinesAndTasksHandler.GetNodePath() + "\\" + item.Name + ".my"; if (File.Exists(path)) { File.Delete(path); } } } } listViewMachinesAndTasksHandler.Refresh(); } }
public void myReadCallBack(IAsyncResult ar) { try { using (MemoryStream memStream = new MemoryStream(dataStream, 0, dataStream.Length, false)) { var myNetworkStream = (NetworkStream)ar.AsyncState; try { var receivePacket2 = xs.Deserialize(memStream) as Packet; if (receivePacket2.IDTime != IDTimeOLD) { receivePacket = receivePacket2; if (computerInTaskHandler != null) { computerInTaskHandler.receivePacket = receivePacket; } HandleMessage(receivePacket); Application.Current.Dispatcher.Invoke(() => { for (int i = listViewMachinesAndTasksHandler.machines.Items.Count - 1; i >= 0; i--) { try { ComputerDetailsData computer = (ComputerDetailsData)listViewMachinesAndTasksHandler.machines.Items[i]; if (!computer.ImageSource.Contains("Folder")) { if (CheckMacsInREC(computer.macAddresses, macAddresses)) { if (computerData.inWinpe) { computerData.ImageSource = "Images/WinPE.ico"; } else { computerData.ImageSource = "Images/Online.ico"; } listViewMachinesAndTasksHandler.machines.Items.RemoveAt(i); listViewMachinesAndTasksHandler.machines.Items.Insert(i, computerData); break; } } } catch (Exception e) { MessageBox.Show("BEZIM: " + e.ToString()); } } }); } IDTimeOLD = receivePacket.IDTime; } catch (Exception ex) { Application.Current.Dispatcher.Invoke(() => { //console.Items.Add("XML CHYBA: " + ex.ToString()); }); } myNetworkStream.BeginRead(dataStream, 0, dataStream.Length, new AsyncCallback(myReadCallBack), myNetworkStream); } } catch (Exception ex) { try { Application.Current.Dispatcher.Invoke(() => { if (!ex.ToString().Contains("Cannot access a disposed object.") && !ex.ToString().Contains("An existing connection was forcibly closed by the remote host.")) { console.Items.Add("Client: " + ex.ToString()); } try { networkStream.Close(); clientSocket.Close(); } catch { } Application.Current.Dispatcher.Invoke(() => { for (int i = listViewMachinesAndTasksHandler.machines.Items.Count - 1; i >= 0; i--) { ComputerDetailsData computer = (ComputerDetailsData)listViewMachinesAndTasksHandler.machines.Items[i]; if (computer.macAddresses != null && macAddresses != null && CheckMacsInREC(computer.macAddresses, macAddresses)) { computer.ImageSource = "Images/Offline.ico"; listViewMachinesAndTasksHandler.machines.Items.RemoveAt(i); listViewMachinesAndTasksHandler.machines.Items.Insert(i, computer); break; } } offline = true; listener.Disconnect(this); if (receivePacket != null) { receivePacket.dataIdentifier = DataIdentifier.Null; } if (computerInTaskHandler != null) { computerInTaskHandler.receivePacket = receivePacket; } this.Close(); }); }); } catch (Exception e) { MessageBox.Show("ZOMREL SOM: " + e.ToString()); } } }
private void SaveComputerData(Packet packet, Connection connection) { try { var computersInfoFiles = Directory.GetFiles(@".\Machine Groups\", "*.my", SearchOption.AllDirectories); clientsAll = computersInfoFiles.Length; Application.Current.Dispatcher.Invoke(() => { labelAllClients.Content = "Clients: " + clientsAll; }); var filePath = GetFileNameByMac(computersInfoFiles, packet.computerDetailsData.macAddresses); packet.computerConfigData = new ComputerConfigData(packet.computerDetailsData.RealPCName, "Workgroup"); if (filePath != "") { packet.computerDetailsData.Name = Path.GetFileName(filePath).Replace(".my", ""); if (filePath.Contains(@".\Machine Groups\Lock")) { ComputerDetailsData computer = FileHandler.Load <ComputerDetailsData>(filePath); packet.computerDetailsData.Detail = computer.Detail; packet.computerDetailsData.pathNode = computer.pathNode; } FileHandler.Save <ComputerDetailsData>(packet.computerDetailsData, filePath); if (!File.Exists(filePath.Replace(".my", ".cfg"))) { FileHandler.Save <ComputerConfigData>(packet.computerConfigData, filePath.Replace(".my", ".cfg")); } else { packet.computerConfigData = FileHandler.Load <ComputerConfigData>(filePath.Replace(".my", ".cfg")); } } else { packet.computerDetailsData.Name = packet.computerDetailsData.RealPCName; bool exist = false; clientsAll++; foreach (string computerFile in computersInfoFiles) { if (computerFile == @".\Machine Groups\Default\" + packet.computerDetailsData.RealPCName + ".my") { exist = true; break; } } if (!exist) { filePath = @".\Machine Groups\Default\" + packet.computerDetailsData.RealPCName + ".my"; } else { filePath = @".\Machine Groups\Default\" + packet.computerDetailsData.RealPCName + "-NEW.my"; } FileHandler.Save <ComputerDetailsData>(packet.computerDetailsData, filePath); FileHandler.Save <ComputerConfigData>(packet.computerConfigData, filePath.Replace(".my", ".cfg")); } } catch (Exception ex) { Application.Current.Dispatcher.Invoke(() => { console.Items.Add("PROBLEM LISTENER CHYBA 3: " + ex.ToString()); }); } }
public Packet(FLAG _ID, ComputerDetailsData _computerDetailsData, string _message) { this.ID = _ID; this.computerDetailsData = _computerDetailsData; this.clonningMessage = _message; }
public Packet(FLAG _ID, ComputerDetailsData _computerDetailsData) { this.ID = _ID; this.computerDetailsData = _computerDetailsData; }
private void CopyToClipBoard() { nodePathOld = treeViewMachinesAndTasksHandler.GetNodePath(); if (nodePathOld == LockPath) { MessageBox.Show("Cannot Copy from Lock folder", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } if (listViewMachineGroups.Visibility == Visibility.Visible) { clipBoardMachines.Clear(); machines = true; foreach (ComputerDetailsData item in listViewMachineGroups.SelectedItems) { if (!copy) { if (!item.ImageSource.Contains("_Selected.ico")) { item.ImageSource = item.ImageSource.Replace(".ico", "_Selected.ico"); } if (nodePathOld + "\\" + item.Name != DefaultPath && nodePathOld + "\\" + item.Name != LockPath) { clipBoardMachines.Add(item); } } } for (int i = 0; i < listViewMachineGroups.Items.Count; i++) { ComputerDetailsData item = (ComputerDetailsData)listViewMachineGroups.Items[i]; int indexClipBoard = clipBoardMachines.IndexOf(item); int index = listViewMachineGroups.Items.IndexOf(item); listViewMachineGroups.Items.Remove(item); if (indexClipBoard == -1) { item.ImageSource = item.ImageSource.Replace("_Selected.ico", ".ico"); listViewMachineGroups.Items.Insert(index, item); } else { listViewMachineGroups.Items.Insert(index, clipBoardMachines[indexClipBoard]); } } } else { clipBoardTasks.Clear(); machines = false; for (int i = 0; i < listViewTasks.SelectedItems.Count; i++) { TaskData item = (TaskData)listViewTasks.SelectedItems[i]; if (!item.ImageSource.Contains("_Selected.ico")) { item.ImageSource = item.ImageSource.Replace(".ico", "_Selected.ico"); } clipBoardTasks.Add(item); } for (int i = 0; i < listViewTasks.Items.Count; i++) { TaskData item = (TaskData)listViewTasks.Items[i]; int indexClipBoard = clipBoardTasks.IndexOf(item); int index = listViewTasks.Items.IndexOf(item); listViewTasks.Items.Remove(item); if (indexClipBoard == -1) { item.ImageSource = item.ImageSource.Replace("_Selected.ico", ".ico"); listViewTasks.Items.Insert(index, item); } else { listViewTasks.Items.Insert(index, clipBoardTasks[indexClipBoard]); } } } }
private void PasteClipBoard() { string nodePath = treeViewMachinesAndTasksHandler.GetNodePath(); if (nodePath == LockPath) { MessageBox.Show("Cannot Paste to Lock folder", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } if (machines && listViewMachineGroups.Visibility == Visibility.Visible) { bool cancel = false; if (nodePath != nodePathOld) { bool exist = false; foreach (ComputerDetailsData itemClipBoard in clipBoardMachines) { if (cancel) { break; } string oldPath = nodePathOld + "\\" + itemClipBoard.Name; string path = nodePath + "\\" + itemClipBoard.Name; if (!itemClipBoard.ImageSource.Contains("Folder_Selected.ico")) { oldPath += ".my"; path += ".my"; } for (int i = listViewMachineGroups.Items.Count - 1; i >= 0; i--) { ComputerDetailsData item = (ComputerDetailsData)listViewMachineGroups.Items[i]; if (item.Name == itemClipBoard.Name) { exist = true; if (itemClipBoard.ImageSource.Contains("Folder_Selected.ico")) { MessageBox.Show("Cannot move folder with same name", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); break; } switch (MessageBox.Show("Replace Item: '" + itemClipBoard.Name + "'", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)) { case MessageBoxResult.Yes: { if (!copy) { if (File.Exists(path)) { File.Delete(path); } File.Move(oldPath, path); } break; } case MessageBoxResult.No: { break; } case MessageBoxResult.Cancel: { cancel = true; break; } } break; } } if (!exist) { if (!copy) { if (itemClipBoard.ImageSource.Contains("Folder_Selected.ico")) { Directory.Move(oldPath, path); } else { File.Move(oldPath, path); } } } } } clipBoardMachines.Clear(); } else { bool cancel = false; foreach (TaskData itemClipBoard in clipBoardTasks) { if (cancel) { break; } bool exist = false; string oldPath = nodePathOld + "\\" + itemClipBoard.Name; string path = nodePath + "\\" + itemClipBoard.Name; if (!itemClipBoard.ImageSource.Contains("Folder_Selected.ico")) { oldPath += ".my"; path += ".my"; } for (int i = listViewTasks.Items.Count - 1; i >= 0; i--) { TaskData item = (TaskData)listViewTasks.Items[i]; if (item.Name == itemClipBoard.Name) { exist = true; if (nodePath == nodePathOld) { if (copy) { path = path.Replace(".my", "-(1).my"); if (!File.Exists(path)) { TaskData taskData = FileHandler.Load <TaskData>(oldPath); taskData.Name = itemClipBoard.Name + "-(1)"; FileHandler.Save <TaskData>(taskData, path); } } } else { switch (MessageBox.Show("Replace Item: '" + itemClipBoard.Name + "'", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)) { case MessageBoxResult.Yes: { if (copy) { if (File.Exists(path)) { TaskData taskData = FileHandler.Load <TaskData>(oldPath); FileHandler.Save <TaskData>(taskData, path); } } else { if (File.Exists(path)) { File.Delete(path); } File.Move(oldPath, path); } break; } case MessageBoxResult.No: { break; } case MessageBoxResult.Cancel: { cancel = true; break; } } } break; } } if (!exist) { if (itemClipBoard.ImageSource.Contains("Folder_Selected.ico")) { if (!copy) { Directory.Move(oldPath, path); } } else { if (copy) { File.Copy(oldPath, path); } else { File.Move(oldPath, path); } } } } clipBoardTasks.Clear(); } listViewMachinesAndTasksHandler.Refresh(); }
public Packet(DataIdentifier _ID, ComputerDetailsData _computerDetailsData) { this.dataIdentifier = _ID; this.computerDetailsData = _computerDetailsData; this.IDTime = DateTime.Now; }