public override Exceptional<bool> Remove(DBContext context, TypesSettingScope scope, GraphDBType type = null, TypeAttribute attribute = null) { switch (scope) { case TypesSettingScope.DB: #region db return new Exceptional<bool>(context.DBSettingsManager.RemovePersistentDBSetting(context, this.Name)); #endregion case TypesSettingScope.SESSION: #region session return new Exceptional<bool>(context.SessionSettings.RemoveSessionSettingReloaded(this.Name)); #endregion case TypesSettingScope.TYPE: #region type if (type != null) { return new Exceptional<bool>(type.RemovePersistentSetting(this.Name, context.DBTypeManager)); } return new Exceptional<bool>(new Error_CouldNotRemoveSetting(this, scope)); #endregion case TypesSettingScope.ATTRIBUTE: #region attribute if ((type != null) && (attribute != null)) { return new Exceptional<bool>(attribute.RemovePersistentSetting(this.Name, context.DBTypeManager)); } return new Exceptional<bool>(new Error_CouldNotRemoveSetting(this, scope, type, attribute)); #endregion default: return new Exceptional<bool>(new Error_NotImplemented(new System.Diagnostics.StackTrace())); } }