示例#1
0
        private bool ValidateValue(IPDescriptor value)
        {
            //to add ip we need to have interface id, ip and mask
            if (value?.Address == null || value.InterfaceId == null || value.SubnetMask == null)
            {
                return(false);
            }

            //ip and mask should be valid
            var ipValid   = IPAddress.TryParse(value.Address, out var addressStub);
            var maskValid = IPAddress.TryParse(value.SubnetMask, out var maskStub);

            return(ipValid && maskValid);
        }
示例#2
0
        public string Post(IPDescriptor value)
        {
            Trace.WriteLine("Got add request");
            var success = ValidateValue(value);

            if (success)
            {
                try
                {
                    success = _networkManager.AddIpAddress(value);
                }
                catch (Exception e)
                {
                    Trace.WriteLine(e.GetBaseException().ToString());
                    success = false;
                }
            }

            return(success ? "ok" : "fail");
        }