// Exceptions: // System.ArgumentException: public void Save(ItemBase itemBase) { if (itemBase.IsNull) { SaveInternal(itemBase); return; //throw new System.ArgumentException("itemBase is null when saving ItemBase", "itemBase"); } if (ItemBaseExists(itemBase.UniqueID)) { ItemBase upToDateItemBase = new ItemBase(); try { Load(upToDateItemBase, itemBase.UniqueID); } catch { SaveInternal(itemBase); return; } if (itemBase.CompareTo(upToDateItemBase) != 0) { UpdateInternal(itemBase); } } else { SaveInternal(itemBase); } }