Network_Manager.Gadget.ControlPanel.Routes.SavedRoutes.UnloadForm.button1_Click C# (CSharp) Method

button1_Click() private method

private button1_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private void button1_Click(object sender, EventArgs e)
        {
            if (!ValidateConfigs())
                return;
            IPAddress ipAddress = new IPAddress(0);
            for (int j = 0; j < unloadRoutes.Count; j++)
                if (listView1.Items[j].Checked &&
                    ValidateRoute(ref unloadRoutes[j].Destination, ref unloadRoutes[j].Prefix, ref unloadRoutes[j].Gateway, unloadRoutes[j].IPVersion))
                {
                    Config.SavedRouteItem savedRoute = unloadRoutes[j];
                    int ifIndex = 0;
                    if (Global.NetworkInterfaces.ContainsKey(savedRoute.InterfaceGuid))
                        ifIndex = Global.NetworkInterfaces[savedRoute.InterfaceGuid].Index;
                    else if (Environment.OSVersion.Version.CompareTo(new Version("6.0")) > -1 &&
                        NetworkInterface.Loopback.Guid == savedRoute.InterfaceGuid)
                        ifIndex = 1;
                    // load defaults
                    if (defaultInterfaceMode.SelectedIndex == 0 && listView1.Items[j].SubItems[6].Text != "Active" ||
                        defaultInterfaceMode.SelectedIndex == 1)
                    {
                        if (unloadRoutes[j].IPVersion == 4)
                        {
                            ifIndex = int.Parse(Regex.Replace(defaultIPv4Interface.Text, @"^(\d+) .*$", "$1"));
                            if (defaultIPv4GatewayMode.SelectedIndex != 3)
                                unloadRoutes[j].Gateway = defaultIPv4Gateway.Text;
                        }
                        else
                        {
                            ifIndex = int.Parse(Regex.Replace(defaultIPv6Interface.Text, @"^(\d+) .*$", "$1"));
                            if (defaultIPv6GatewayMode.SelectedIndex != 3)
                                unloadRoutes[j].Gateway = defaultIPv6Gateway.Text;
                        }
                    }
                    // unload route
                    Iphlpapi.DeleteRoute(unloadRoutes[j].Destination, unloadRoutes[j].Prefix, unloadRoutes[j].Gateway, ifIndex.ToString());
                }
            Close();
        }