Esempio n. 1
0
        public T CreateItem()
        {
            T item  = _primary.CreateItem();
            T item2 = _secondary.CreateItem();

            _primarySecondaryMap.Add(_primary.GetId(item), _secondary.GetId(item2));
            return(item);
        }
Esempio n. 2
0
        /// <summary>
        /// Call this method every time a cached item changes. This method verifies that the item you are trying to update exists int he repository.
        /// </summary>
        /// <param name="item"></param>
        public void UpdateItemInCache(T item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            RepositoryId itemId = _dataMapperQueried.GetId(item);

            RemoveOldTokensWithId(itemId);

            ResultSet <T> itemsQueryResults = QueryNewItem(item);

            foreach (RecordToken <T> token in itemsQueryResults)
            {
                if (!_sortedTokens.ContainsKey(token))
                {
                    _sortedTokens.Add(token, null);
                }
            }
        }
 public RepositoryId GetId(LexEntry item)
 {
     return(_decoratedDataMapper.GetId(item));
 }
Esempio n. 4
0
        public int FindFirstIndex(T item)
        {
            RepositoryId id = _dataMapper.GetId(item);

            return(FindFirstIndex(id));
        }