Example #1
0
        // Exceptions:
        //	System.ArgumentException:
        //		userBase is null when saving UserBase
        public void Save(UserBase userBase)
        {
            if (userBase.IsNull)
            {
                throw new System.ArgumentException("userBase is null when saving UserBase", "userBase");
            }

            if (UserBaseExists(userBase.UniqueID))
            {
                UserBase upToDateUserBase = new UserBase();

                try
                {
                    Load(upToDateUserBase, userBase.UniqueID);
                }
                catch
                {
                    SaveInternal(userBase);
                    return;
                }

                if (userBase.CompareTo(upToDateUserBase) != 0)
                {
                    UpdateInternal(userBase);
                }
            }
            else
            {
                SaveInternal(userBase);
            }
        }