Esempio n. 1
0
 /// <summary>
 /// Добавляет подсеть в список подсетей репозитория.
 /// </summary>
 /// <param name="subnet">Подсеть</param>
 public void AddSubnet(Subnet subnet)
 {
     if (subnet != null)
     {
         Application.Current.Dispatcher.Invoke(() =>
         {
             Subnets.Add(subnet);
             if (subnet.Printers.Count > 0)
             {
                 SimpleSummary summary = SubnetSummaries.FirstOrDefault(x => x.Parameter == subnet.Address);
                 if (summary is null)
                 {
                     var newSummary = new SimpleSummary(subnet.Address, subnet.Printers.Count);
                     SubnetSummaries.Add(newSummary);
                 }
                 else
                 {
                     summary.Count += subnet.Printers.Count;
                 }
                 SubnetSummaries.Sort();
             }
         });
         SubnetCount = Subnets.Where(x => x.Printers.Count > 0).Count();
     }
 }
Esempio n. 2
0
 // Delete a subnet
 public void DeleteSubnet(Subnet subnet)
 {
     if (subnet != null)
     {
         Subnets = Subnets.Where(s => !s.Name.Equals(subnet.Name)).ToList();
         WideIpRange(subnet.IPRangeId);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Очищает репозиторий.
 /// </summary>
 public void Clear()
 {
     Subnets.ToList().ForEach(x => x.Printers.Clear());
     Subnets.Clear();
     Printers.Clear();
     ModelSummaries.Clear();
     SubnetSummaries.Clear();
     DeviceCount = 0;
     SubnetCount = 0;
 }
Esempio n. 4
0
        // Delete the IPRange and its subnets
        public void DeleteIpRange(IPRange ipRange)
        {
            if (ipRange == null)
            {
                return;
            }

            Subnets.RemoveAll(s => s.IPRangeId == ipRange.Id);
            IPRanges.Remove(ipRange);
            NotifySubnetChange();
        }
Esempio n. 5
0
        private void WideIpRange(int ipRangeId, bool notify = true)
        {
            var ipRange = IPRanges.Where(ir => ir.Id == ipRangeId).FirstOrDefault();

            if (ipRange != null)
            {
                var subnets = Subnets.Where(s => s.IPRangeId == ipRangeId).ToList();
                ipRange.WideSubnet(subnets);
                if (notify)
                {
                    NotifySubnetChange();
                }
            }
        }
Esempio n. 6
0
        private void CountDevices()
        {
            CountUnused = UnusedDeviceItems.Count;

            Subnets.ForEach((sn) =>
            {
                CountIoControllers += sn.IoSystems.Count;
                CountInSubnets     += sn.SubnetLvlDevItems.Count;

                sn.IoSystems.ForEach((ios) =>
                {
                    CountIoDevices += ios.IoDevices.Count;
                });
            });
        }
Esempio n. 7
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat(CultureInfo.InvariantCulture, "Name:{0} ", string.IsNullOrEmpty(Name) ? "null" : Name);
            sb.AppendFormat(CultureInfo.InvariantCulture, "Description:{0} ", string.IsNullOrEmpty(Description) ? "null" : Description);
            sb.AppendFormat(CultureInfo.InvariantCulture, "VnetName:{0} ", string.IsNullOrEmpty(VnetName) ? "null" : VnetName);
            sb.AppendFormat(CultureInfo.InvariantCulture, "Subnets:{0} ", !Subnets.Any() ? "null" : Subnets.ToString());
            sb.AppendFormat(CultureInfo.InvariantCulture, "InstanceCount:{0} ", InstanceCount);
            sb.AppendFormat(CultureInfo.InvariantCulture, "GatewaySize:{0} ", string.IsNullOrEmpty(GatewaySize) ? "null" : GatewaySize);
            sb.AppendFormat(CultureInfo.InvariantCulture, "State:{0} ", string.IsNullOrEmpty(State) ? "null" : State);
            sb.AppendFormat(CultureInfo.InvariantCulture, "VirtualIPs:{0} ", !VirtualIPs.Any() ? "null" : VirtualIPs.ToString());
            sb.AppendFormat(CultureInfo.InvariantCulture, "DnsName:{0} ", string.IsNullOrEmpty(DnsName) ? "null" : DnsName);

            return(sb.ToString());
        }
Esempio n. 8
0
        /// <summary>
        /// Checks if specified address is allowed by the current permission.
        /// </summary>
        /// <param name="address">Address to check.</param>
        /// <returns>True if passed address is allowed.</returns>
        public bool IsAddressAllowed(string address)
        {
            if (string.IsNullOrEmpty(address))
            {
                throw new ArgumentException("Address is null or empty!", "address");
            }

            if (Subnets == null)
            {
                return(true);
            }

            var parsedAddress = Subnet.ParseAddress(address);

            return(Subnets.Any(s => Subnet.ParseSubnet(s).Includes(parsedAddress)));
        }
Esempio n. 9
0
 public AddressAssignment()
 {
     Subnets = new Subnets();
 }
Esempio n. 10
0
 public void AddSubnet(Subnet subnet)
 {
     Subnets.Add(subnet);
     WideIpRange(subnet.IPRangeId);
 }
Esempio n. 11
0
 // Reset the subnets when IPRange changes
 public void ResetSubnets(int ipRangeId)
 {
     Subnets.RemoveAll(s => s.IPRangeId == ipRangeId);
     WideIpRange(ipRangeId);
 }
 public AddressAssignment()
 {
     Subnets = new Subnets();
 }