Beispiel #1
0
 public LocalIpViewModel(ILocalIp data)
 {
     _data        = data;
     _settingID   = data.SettingID;
     _macAddress  = data.MACAddress;
     _name        = data.Name;
     _dHCPEnabled = data.DHCPEnabled;
     if (!data.DHCPEnabled)
     {
         _isAutoDNSServer = false;
     }
     else
     {
         _isAutoDNSServer = string.IsNullOrEmpty(data.DNSServer0);
     }
     _isAutoDNSServerInitial = _isAutoDNSServer;
     _iPAddressVm            = new IpAddressViewModel(data.IPAddress);
     _iPSubnetVm             = new IpAddressViewModel(data.IPSubnet);
     _defaultIPGatewayVm     = new IpAddressViewModel(data.DefaultIPGateway);
     _dNSServer0Vm           = new IpAddressViewModel(data.DNSServer0);
     _dNSServer1Vm           = new IpAddressViewModel(data.DNSServer1);
     this.CopyIp             = new DelegateCommand(() => {
         string ip = _iPAddressVm.AddressText ?? "无";
         Clipboard.SetDataObject(ip, true);
         VirtualRoot.Out.ShowSuccess(ip, header: "复制成功");
     });
 }
Beispiel #2
0
        public void SetIp(ILocalIp data, bool isAutoDNSServer)
        {
            ManagementObject mo = GetManagementObject(data.SettingID);

            if (mo != null)
            {
                if (data.DHCPEnabled)
                {
                    mo.InvokeMethod("EnableStatic", null);
                    mo.InvokeMethod("SetGateways", null);
                    mo.InvokeMethod("EnableDHCP", null);
                }
                else
                {
                    ManagementBaseObject inPar = mo.GetMethodParameters("EnableStatic");
                    inPar["IPAddress"]  = new string[] { data.IPAddress };
                    inPar["SubnetMask"] = new string[] { data.IPSubnet };
                    mo.InvokeMethod("EnableStatic", inPar, null);
                    inPar = mo.GetMethodParameters("SetGateways");
                    inPar["DefaultIPGateway"] = new string[] { data.DefaultIPGateway };
                    mo.InvokeMethod("SetGateways", inPar, null);
                }

                if (isAutoDNSServer)
                {
                    mo.InvokeMethod("SetDNSServerSearchOrder", null);
                }
                else
                {
                    ManagementBaseObject inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
                    inPar["DNSServerSearchOrder"] = new string[] { data.DNSServer0, data.DNSServer1 };
                    mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);
                }
            }
        }
Beispiel #3
0
 public void Update(ILocalIp data)
 {
     this.Name = data.Name;
     _iPAddressVm.SetAddress(data.IPAddress);
     _iPSubnetVm.SetAddress(data.IPSubnet);
     _defaultIPGatewayVm.SetAddress(data.DefaultIPGateway);
     _dNSServer0Vm.SetAddress(data.DNSServer0);
     _dNSServer1Vm.SetAddress(data.DNSServer1);
 }
Beispiel #4
0
 public static LocalIpInput Create(ILocalIp data, bool isAutoDNSServer)
 {
     return(new LocalIpInput {
         DefaultIPGateway = data.DefaultIPGateway,
         DHCPEnabled = data.DHCPEnabled,
         DNSServer0 = data.DNSServer0,
         DNSServer1 = data.DNSServer1,
         IPAddress = data.IPAddress,
         IPSubnet = data.IPSubnet,
         MACAddress = data.MACAddress,
         Name = data.Name,
         SettingID = data.SettingID,
         IsAutoDNSServer = isAutoDNSServer
     });
 }
Beispiel #5
0
 public LocalIpViewModel(ILocalIp data)
 {
     _data        = data;
     _settingID   = data.SettingID;
     _name        = data.Name;
     _dHCPEnabled = data.DHCPEnabled;
     if (!data.DHCPEnabled)
     {
         _isAutoDNSServer = false;
     }
     else
     {
         _isAutoDNSServer = string.IsNullOrEmpty(data.DNSServer0);
     }
     _isAutoDNSServerInitial = _isAutoDNSServer;
     _iPAddressVm            = new IpAddressViewModel(data.IPAddress);
     _iPSubnetVm             = new IpAddressViewModel(data.IPSubnet);
     _defaultIPGatewayVm     = new IpAddressViewModel(data.DefaultIPGateway);
     _dNSServer0Vm           = new IpAddressViewModel(data.DNSServer0);
     _dNSServer1Vm           = new IpAddressViewModel(data.DNSServer1);
 }
 public SetLocalIpCommand(ILocalIp input, bool isAutoDNSServer)
 {
     this.Input           = input;
     this.IsAutoDNSServer = isAutoDNSServer;
 }