protected IEnumerable <Page> GetPageFromReferenceTable(IReferenceTable refTable, object value, Dictionary <string, int> initialIndexDictionary, IPageManager pageManager) { Page p = null; foreach (var i in refTable.References) { if (initialIndexDictionary.Keys.Contains(i.TargetUniqueID)) { p = pageManager.LoadPage(i.TargetUniqueID); yield return(p); } } }
private IEnumerable <Page> GivenAnItemGetThePagesThatHoldsAReferenceOfTheItem(IVirtualListServiceDependencies services, IVirtualListContext ctx, object item) { //Given the value, first we need to retrieve its Reference Table. IReferenceTable refTable = services.ReferenceManager.GetReferenceTable(item); if (refTable != null) { //Given a ReferenceTable, returns the page that matches with the item's unique id IEnumerable <Page> pages = GetPageFromReferenceTable(refTable, item, ctx.initialIndexDictionary, services.Pager); return(pages); } else { return(null); } }
public ReferencesDbService(IReferenceTable referenceTable) { this.referenceTable = referenceTable; }
public void Initialize() { referenceTable = Substitute.For <IReferenceTable>(); referencesDbService = new ReferencesDbService(referenceTable); }