public T CreateItem() { T item = _primary.CreateItem(); T item2 = _secondary.CreateItem(); _primarySecondaryMap.Add(_primary.GetId(item), _secondary.GetId(item2)); return(item); }
/// <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)); }
public int FindFirstIndex(T item) { RepositoryId id = _dataMapper.GetId(item); return(FindFirstIndex(id)); }