private void CalculateNetworks(bool minSize, DataGrid resultGrid) { if (!minSize) { InternalAddressRow addrRow = CalculateMinimalNetworksNum(); IPCalculation ipc = new IPCalculation(addrRow.Ip, addrRow.Netmask); Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, new Action(() => AddAutomaticRow(ipc, addrRow.HostsNumber))); } else if (minSize) { var addrRows = CalculateMinimalNetworksSize(); foreach (var row in addrRows) { IPCalculation ipc = new IPCalculation(row.Ip, row.Netmask); Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, new Action(() => AddAutomaticRow(ipc, row.HostsNumber))); } } }
public void CalculateManual(bool isMinNumber, bool isMinSize, int?freeAddr = null, int?minNetworks = null) { ManualDataCollection.Clear(); if (isMinNumber) { InternalAddressRow addrRow = CalculateMinimalNetworksNum(freeAddr); IPCalculation ipc = new IPCalculation(addrRow.Ip, addrRow.Netmask); AddManualRow(ipc, addrRow.HostsNumber); } else if (isMinSize) { var addrRows = CalculateMinimalNetworksSize(freeAddr); foreach (var row in addrRows) { IPCalculation ipc = new IPCalculation(row.Ip, row.Netmask); AddManualRow(ipc, row.HostsNumber); } } }