From ff81afba45b2d737ca95501ef46c795adb7dfe46 Mon Sep 17 00:00:00 2001
From: Tim Young <tim.young@lightsys.org>
Date: Fri, 16 Mar 2018 14:17:57 -0500
Subject: [PATCH] Network card "Equals" function (started)

---
 EduNetworkBuilder/NetworkCard.cs | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/EduNetworkBuilder/NetworkCard.cs b/EduNetworkBuilder/NetworkCard.cs
index b76b690..a50c60c 100644
--- a/EduNetworkBuilder/NetworkCard.cs
+++ b/EduNetworkBuilder/NetworkCard.cs
@@ -98,6 +98,25 @@ namespace EduNetworkBuilder
             SetIPForDHCP();
         }
 
+        public bool Equals(NetworkCard compareWith)
+        {
+            if (MAC != compareWith.MAC) return false;
+
+            //List<NetworkInterface> interfaces = new List<NetworkInterface>();
+            if (UsesDHCP != compareWith.UsesDHCP) return false;
+            if (CanUseDHCP != compareWith.CanUseDHCP) return false;
+            if (MustUseDHCP != compareWith.MustUseDHCP) return false;
+            if (myNicType != compareWith.myNicType) return false;
+            if (myID.HostID != compareWith.myID.HostID) return false;
+            if (ConnectedLink != compareWith.ConnectedLink) return false;
+            if (UniqueIdentifier != compareWith.UniqueIdentifier) return false;
+            if (_nic_name != compareWith._nic_name) return false;
+            if (TunnelEndpoint != compareWith.TunnelEndpoint) return false;
+            if (EncryptionKey != compareWith.EncryptionKey) return false;
+            if (SSID != compareWith.SSID) return false;
+            return true;
+    }
+
         private void ApplyNicRules()
         {
             //These are the defaults for the various nic types.  They can be overridden by the device.