Do delete device using DoActions
This commit is contained in:
parent
06ca7c59f3
commit
d5a04c9d77
@ -120,6 +120,7 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
Network myNet = NB.GetNetwork();
|
Network myNet = NB.GetNetwork();
|
||||||
NetworkDevice source = myNet.GetDeviceFromID(SourceID);
|
NetworkDevice source = myNet.GetDeviceFromID(SourceID);
|
||||||
|
NetworkComponent sourceC = myNet.GetComponentFromID(SourceID);
|
||||||
|
|
||||||
switch (Action)
|
switch (Action)
|
||||||
{
|
{
|
||||||
@ -133,6 +134,26 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case NBAction.deletecomponent:
|
case NBAction.deletecomponent:
|
||||||
|
//Deleting the item is easy, but we also need to delete any links to that item
|
||||||
|
List<HostNicID> NicIDs = new List<HostNicID>();
|
||||||
|
if (source != null)
|
||||||
|
{
|
||||||
|
if (myNet.ItemIsCritical(source.hostname))
|
||||||
|
return; //we cannot delete this
|
||||||
|
NicIDs = source.GetHostNicIDs();
|
||||||
|
foreach (HostNicID nicID in NicIDs)
|
||||||
|
{
|
||||||
|
myNet.RemoveLinksToNic(nicID);
|
||||||
|
}
|
||||||
|
myNet.RemoveComponent(source);
|
||||||
|
} else if(sourceC != null && sourceC is NetworkLink)
|
||||||
|
{
|
||||||
|
if (myNet.ItemIsCritical(sourceC.hostname))
|
||||||
|
return; //We cannot remove this link
|
||||||
|
NetworkLink SourceL = (NetworkLink)sourceC;
|
||||||
|
SourceL.Destroy(); //Mark both ends as being deleted
|
||||||
|
myNet.RemoveComponent(SourceL); //Get rid of this link
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case NBAction.newdevice:
|
case NBAction.newdevice:
|
||||||
break;
|
break;
|
||||||
|
@ -1430,6 +1430,17 @@ namespace EduNetworkBuilder
|
|||||||
|
|
||||||
AC.DoAction();
|
AC.DoAction();
|
||||||
|
|
||||||
|
}
|
||||||
|
public static void DoActionDeleteComponent(int HostID)
|
||||||
|
{
|
||||||
|
ActionClass AC = new ActionClass();
|
||||||
|
AC.Action = NBAction.deletecomponent;
|
||||||
|
AC.SourceID = HostID;
|
||||||
|
|
||||||
|
RegisterAction(AC);
|
||||||
|
|
||||||
|
AC.DoAction();
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion ActionFunctions
|
#endregion ActionFunctions
|
||||||
|
|
||||||
|
@ -1354,18 +1354,19 @@ namespace EduNetworkBuilder
|
|||||||
private void TryDeleteOneItem(NetworkDevice Item)
|
private void TryDeleteOneItem(NetworkDevice Item)
|
||||||
{
|
{
|
||||||
//Deleting the item is easy, but we also need to delete any links to that item
|
//Deleting the item is easy, but we also need to delete any links to that item
|
||||||
List<HostNicID> NicIDs = new List<HostNicID>();
|
//List<HostNicID> NicIDs = new List<HostNicID>();
|
||||||
if (Item != null)
|
//if (Item != null)
|
||||||
{
|
//{
|
||||||
if (myNetwork.ItemIsCritical(Item.hostname))
|
// if (myNetwork.ItemIsCritical(Item.hostname))
|
||||||
return; //we cannot delete this
|
// return; //we cannot delete this
|
||||||
NicIDs = Item.GetHostNicIDs();
|
// NicIDs = Item.GetHostNicIDs();
|
||||||
foreach (HostNicID nicID in NicIDs)
|
// foreach (HostNicID nicID in NicIDs)
|
||||||
{
|
// {
|
||||||
myNetwork.RemoveLinksToNic(nicID);
|
// myNetwork.RemoveLinksToNic(nicID);
|
||||||
}
|
// }
|
||||||
myNetwork.RemoveComponent(Item);
|
// myNetwork.RemoveComponent(Item);
|
||||||
}
|
//}
|
||||||
|
NB.DoActionDeleteComponent(Item.GetUniqueIdentifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pbNetworkView_DeleteShape_Click(object sender, EventArgs e)
|
private void pbNetworkView_DeleteShape_Click(object sender, EventArgs e)
|
||||||
|
Loading…
Reference in New Issue
Block a user