private void ChooseSubnet_button_Click(object sender, RoutedEventArgs e) { try { ipAddressesListBox.Items.Clear(); string selectedItem = subnetListBox.Items[subnetListBox.SelectedIndex].ToString(); string[] splittedItem = selectedItem.Split(" - "); string selectedSubnetAsString = splittedItem[1]; List <SubnetConfig> subnetList = AppStore.Instance.ConfigManager.GetAllSubnetsAsList(); foreach (SubnetConfig subnetConfig in subnetList) { List <string> ipAddresses = subnetConfig.IpAddresses; SubnetConfig selectedSubnetConfig = AppStore.Instance.ConfigManager.FindSubnetConfigBySubnetIp(selectedSubnetAsString); if (selectedSubnetConfig == subnetConfig) { if (ipAddresses is not null) { foreach (string ipAddress in ipAddresses) { ipAddressesListBox.Items.Add(ipAddress); } } } } } catch (Exception) { } }
public SubnetConfig GetSubnetConfigByDescription(string description) { // Note: Handle invalid description input if (description == "") { throw new SomethingWentWrongException("Bitte geben Sie Beschreibung ein!"); } SubnetConfig foundConfigFile = configFileList.Where((config) => config.Description == description).FirstOrDefault(); return(foundConfigFile); }
public void AddSubnet(string subnetIp, string?description) { List <SubnetConfig> subnetConfigList = configFileList; SubnetConfig newSubnetConfig = new SubnetConfig(); newSubnetConfig.SubnetIp = subnetIp; if (description is not null) { newSubnetConfig.Description = description; } subnetConfigList.Add(newSubnetConfig); }
public void DeleteSubnet(string subnetIp) { List <SubnetConfig> subnetConfigList = configFileList; SubnetConfig subnetConfig = FindSubnetConfigBySubnetIp(subnetIp); if (subnetConfig != null) { bool isRemoved = subnetConfigList.Remove(subnetConfig); if (isRemoved == false) { Console.WriteLine("Subnet connot be removed!"); } } }
// Private functions below .... private List <SubnetConfig> ReadConfigFileAndGetAsList(string filepath) { string jsonString = File.ReadAllText(filepath, Encoding.ASCII); SubnetConfig[] subnetLists = System.Text.Json.JsonSerializer.Deserialize <SubnetConfig[]>(jsonString); List <SubnetConfig> subnetConfigList = new List <SubnetConfig>(); foreach (SubnetConfig subnet in subnetLists) { SubnetConfig config = new SubnetConfig { }; List <string> ipAddressList = new List <string>(); config.Description = subnet.Description; config.SubnetIp = subnet.SubnetIp; var ipAddresses = subnet.IpAddresses; if (ipAddresses is not null) { foreach (string ipAddress in ipAddresses) { ipAddressList.Add(ipAddress); } config.IpAddresses = ipAddressList; } subnetConfigList.Add(config); } if (subnetConfigList.Count == 0 || subnetConfigList == null) { Console.WriteLine("Unable to read config file!"); return(null); } Console.WriteLine("Config file successfully loaded!"); return(subnetConfigList); }