Пример #1
0
 public Packet(DataIdentifier _ID, ComputerDetailsData _computerDetailsData, string _message)
 {
     this.dataIdentifier      = _ID;
     this.computerDetailsData = _computerDetailsData;
     this.IDTime          = DateTime.Now;
     this.clonningMessage = _message;
 }
Пример #2
0
        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"));
            }
        }
Пример #3
0
 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();
         }
     }
 }
Пример #4
0
 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());
     }
 }
Пример #5
0
        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();
        }
Пример #6
0
 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;
     }
 }
Пример #7
0
        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();
        }
Пример #8
0
 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());
     }
 }
Пример #9
0
 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());
     }
 }
Пример #10
0
        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();
            }
        }
Пример #11
0
 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());
         }
     }
 }
Пример #12
0
 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());
         });
     }
 }
Пример #13
0
 public Packet(FLAG _ID, ComputerDetailsData _computerDetailsData, string _message)
 {
     this.ID = _ID;
     this.computerDetailsData = _computerDetailsData;
     this.clonningMessage     = _message;
 }
Пример #14
0
 public Packet(FLAG _ID, ComputerDetailsData _computerDetailsData)
 {
     this.ID = _ID;
     this.computerDetailsData = _computerDetailsData;
 }
Пример #15
0
 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]);
             }
         }
     }
 }
Пример #16
0
        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();
        }
Пример #17
0
 public Packet(DataIdentifier _ID, ComputerDetailsData _computerDetailsData)
 {
     this.dataIdentifier      = _ID;
     this.computerDetailsData = _computerDetailsData;
     this.IDTime = DateTime.Now;
 }