public async Task <IActionResult> GetAvailableAdresses(int?id)
        {
            var group = await _groupsRepository.GetAsync(id);

            if (group == null)
            {
                return(NotFound());
            }

            var interfaces = _interfacesRepository.GetByGroupId(group.Id);

            var availableList = new List <string>();

            var range = IPAddressRange.Parse(group.IpRange).ToCidrString();

            string subnet = range.Split('/')[1];

            foreach (var ip in IPAddressRange.Parse(group.IpRange))
            {
                if (!interfaces.Any(i => i.Address.Contains(ip.ToString())))
                {
                    availableList.Add(ip.ToString() + "/" + subnet);
                }
            }

            return(Ok(availableList));
        }
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            GroupVM.Group = await _groupsRepository.GetAsync(id);

            if (GroupVM.Group == null)
            {
                return(NotFound());
            }

            return(View(GroupVM));
        }