public static void DeleteLocalAddressRange(int rangeId) { CheckAccess(); using (DbTransaction tran = DbTransaction.Begin()) { DbActiveDirectory.LocalAddressRangeDelete(rangeId); tran.Commit(); } }
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(); } }