/// <summary> /// Deletes data from external store with specified key. When key is omitted instance's DataStoreKey is used. /// After this call model state is DataState.Uninitialized /// </summary> public void Delete(IModelDataStore store, IDataStoreKey key, params object[] extra) { CheckDeleteAllowed(); m_StorageOperation = StorageOperation.Deleting; try { DoDelete(store, key ?? this.DataStoreKey, extra); } finally { m_StorageOperation = StorageOperation.None; } m_DataStoreKey = null; setState(DataState.Uninitialized); m_LastPostedChange = ChangeType.Deleted; }
/// <summary> /// Saves data into external store using specified key. If key is null then provider may elect to build key from fields with KeyField attribute set to true /// </summary> public void Save(IModelDataStore store, IDataStoreKey key, params object[] extra) { CheckSaveAllowed(); m_StorageOperation = StorageOperation.Saving; try { DoSave(store, key ?? this.DataStoreKey, extra); m_DataStoreKey = key; } finally { m_StorageOperation = StorageOperation.None; } }
/// <summary> /// Deletes data from external store under this instance's DataStoreKey. /// After this call model state is DataState.Uninitialized /// </summary> public void Delete(IModelDataStore store) { Delete(store, DataStoreKey); }
/// <summary> /// Saves data into external store under this instance's DataStoreKey /// </summary> public void Save(IModelDataStore store) { Save(store, DataStoreKey); }
/// <summary> /// Initializes an instance for data loading and loads data if store is not null from external source. /// This call has to be followed by EndLoad() /// </summary> public void BeginLoad(IModelDataStore store, IDataStoreKey key, params object[] extra) { CheckLoadAllowed(); setState(DataState.Initializing); m_StorageOperation = StorageOperation.Loading; try { DoCreate(); if (store!=null) DoLoad(store, key, extra); } finally { m_StorageOperation = StorageOperation.None; } m_DataStoreKey = key; }
/// <summary> /// Initializes an instance for data loading and loads data if store is not null from external source. /// </summary> public void Load(IModelDataStore store, IDataStoreKey key, params object[] extra) { BeginLoad(store, key, extra); EndLoad(); }
/// <summary> /// Override to implement functionality performed upon Delete() /// </summary> protected virtual void DoDelete(IModelDataStore store, IDataStoreKey key, params object[] extra) { store.Delete(this, key, extra); }
/// <summary> /// Override to implement functionality performed upon BeginLoad() /// </summary> protected internal virtual void DoLoad(IModelDataStore store, IDataStoreKey key, params object[] extra) { store.Load(this, key, extra); }