public static int AddLocalAddressRange(string startAddress, string endAddress) { CheckAccess(); int id; // Validate range IPAddressRange range = new IPAddressRange(startAddress, endAddress); // Add range using (DbTransaction tran = DbTransaction.Begin()) { id = DbActiveDirectory.LocalAddressRangeAdd(startAddress, endAddress); tran.Commit(); } return(id); }
public static void UpdateLocalAddressRanges(DataTable items) { CheckAccess(); ArrayList oldItems = GetLocalAddressesList(); ArrayList add = new ArrayList(); ArrayList del = new ArrayList(); foreach (DataRow row in items.Rows) { IPAddressRange item = new IPAddressRange((string)row["StartAddress"], (string)row["EndAddress"]); if (oldItems.Contains(item)) { oldItems.Remove(item); } else { add.Add(item); } } del.AddRange(oldItems); using (DbTransaction tran = DbTransaction.Begin()) { foreach (IPAddressRange range in add) { DbActiveDirectory.LocalAddressRangeAdd(range.StartAddress.ToString(), range.EndAddress.ToString()); } foreach (IPAddressRange range in del) { DbActiveDirectory.LocalAddressRangeDelete(range.ID); } tran.Commit(); } }