internal IAsyncAction RemoveAsync(ItemKey key, RecordItemLock itemLock) { key.ValidateRequired("key"); return AsyncInfo.Run(async cancelToken => { await this.Data.RemoveItemAsync(m_typeID, key, itemLock); await this.RemoveKeyAsync(key); }); }
public IAsyncOperation<RecordItem> RefreshAndGetItemAsync(ItemKey key) { key.ValidateRequired("key"); return RefreshAndGetItemAsyncImpl(key).AsAsyncOperation(); }
public IAsyncAction RemoveItemAsync(ItemKey key) { key.ValidateRequired("key"); return AsyncInfo.Run(async cancelToken => { using (await CrossThreadLockScope.Enter(m_lock)) { await m_objectStore.DeleteAsync(key.ID); } }); }
public IAsyncOperation<IItemDataTyped> GetAsync(ItemKey key) { key.ValidateRequired("key"); return GetAsyncImpl(key).AsAsyncOperation(); }
/// <summary> /// Remove an item. To remove, you must first acquire a lock on the item, and prove that you own the lock. /// If you use the higher level SychronizedType object, you won't have to acquire the lock yourself /// </summary> public IAsyncAction RemoveItemAsync(string typeID, ItemKey itemKey, RecordItemLock itemLock) { itemKey.ValidateRequired("key"); if (itemLock == null) { throw new ArgumentNullException("itemLock"); } m_itemLocks.ValidateLock(itemKey.ID, itemLock.LockID); return AsyncInfo.Run(async cancelToken => { await m_localStore.RemoveItemAsync(itemKey); await m_changeManager.TrackRemoveAsync(typeID, itemKey); }); }