Пример #1
0
        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 IAsyncAction RemoveItemAsync(ItemKey key)
        {
            key.ValidateRequired("key");

            return(AsyncInfo.Run(async cancelToken =>
            {
                using (await CrossThreadLockScope.Enter(m_lock))
                {
                    await m_objectStore.DeleteAsync(key.ID);
                }
            }));
        }
Пример #3
0
        /// <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);
            }));
        }
        public IAsyncOperation <RecordItem> RefreshAndGetItemAsync(ItemKey key)
        {
            key.ValidateRequired("key");

            return(RefreshAndGetItemAsyncImpl(key).AsAsyncOperation());
        }
        public IAsyncOperation <IItemDataTyped> GetAsync(ItemKey key)
        {
            key.ValidateRequired("key");

            return(GetAsyncImpl(key).AsAsyncOperation());
        }