internal Node addClient(Point point) { foreach (Node node in nodeList) { if (node.Position.Equals(point)) { mainWindow.errorMessage("There is already node in that position."); return(null); } } Address a; Node client; Domain d = checkWhatDomain(point); if (d == null) { a = new Address(true, 0, 0, clientNodesNumber); client = new Node(point, Node.NodeType.CLIENT, a.getName(), 8000 + clientNodesNumber, 0, 0); } else { List <Subnetwork> temporaryListOfSubnetworks = checkWhatSubnetwork(point); Subnetwork up = default(Subnetwork); if (temporaryListOfSubnetworks.Any()) { up = temporaryListOfSubnetworks.ElementAt(0); foreach (Subnetwork s in temporaryListOfSubnetworks) { if (s.Size.Height < up.Size.Height && s.Size.Width < up.Size.Width) { up = s; } } } d.NumberOfNodes++; if (up == default(Subnetwork)) { a = new Address(true, d.Name, 0, d.NumberOfNodes); } else { a = new Address(true, d.Name, up.Name - 100, d.NumberOfNodes); } client = new Node(point, Node.NodeType.CLIENT, a.getName(), 8000 + clientNodesNumber, d.ManagementPort, 0, d.NccPort); } ++clientNodesNumber; nodeList.Add(client); mainWindow.addNodeToTable(client); mainWindow.addNode(client); return(client); }
public void addClientNode(int x, int y) { foreach (Node node in nodeList) { if (node.Position.Equals(new Point(x, y))) { mainWindow.errorMessage("There is already node in that position."); return; } } ClientNode client = new ClientNode(x, y, "CN." + clientNodesNumber, 8000 + clientNodesNumber); ++clientNodesNumber; nodeList.Add(client); addNodeToTable(client); mainWindow.addNode(client); }