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)); }