private void LinkNestedLinkedSourcesById(object linkedSource, IReadOnlyList <Type> referenceTypesToBeLoaded) { var loadLinkExpressionsForLinkedSource = _loadLinkProtocol.GetLoadLinkExpressions(linkedSource); foreach (var referenceType in referenceTypesToBeLoaded) { var loadLinkExpressionsForReference = loadLinkExpressionsForLinkedSource.Where(e => e.ReferenceTypes.Contains(referenceType)); foreach (var loadLinkExpression in loadLinkExpressionsForReference) { loadLinkExpression.LinkNestedLinkedSourceById(linkedSource, this, referenceType, _loadLinkProtocol); } } }
public void LinkNestedLinkedSourcesById(IEnumerable <Type> referenceTypes) { foreach (var referenceType in referenceTypes) { foreach (var linkedSource in LinkedSourcesToBeBuilt) { var loadLinkExpressions = _loadLinkProtocol.GetLoadLinkExpressions(linkedSource, referenceType); foreach (var loadLinkExpression in loadLinkExpressions) { loadLinkExpression.LinkNestedLinkedSourceById(linkedSource, this, referenceType, _loadLinkProtocol); } } } }
private void LinkNestedLinkedSourcesFromModel(object linkedSource, LoadLinkProtocol loadLinkProtocol) { var loadLinkExpressions = loadLinkProtocol.GetLoadLinkExpressions(linkedSource); foreach (var loadLinkExpression in loadLinkExpressions) { loadLinkExpression.LinkNestedLinkedSourceFromModel( linkedSource, this, loadLinkProtocol ); } }
private void AddLookupIdsForLinkedSource(LookupContext lookupContext, object linkedSource, IReadOnlyList <Type> referenceTypesToBeLoaded) { var loadLinkExpressionsForLinkedSource = _loadLinkProtocol.GetLoadLinkExpressions(linkedSource); foreach (var referenceType in referenceTypesToBeLoaded) { var loadLinkExpressionsForReference = loadLinkExpressionsForLinkedSource.Where(e => e.ReferenceTypes.Contains(referenceType)); foreach (var loadLinkExpression in loadLinkExpressionsForReference) { loadLinkExpression.AddLookupIds(linkedSource, lookupContext, referenceType); } } }
private LookupContext GetLookupContextForLoadingLevel(List <Type> referenceTypes) { var lookupContext = new LookupContext(); foreach (var referenceType in referenceTypes) { foreach (var linkedSource in _linker.LinkedSourcesToBeBuilt) { var loadLinkExpressions = _loadLinkProtocol.GetLoadLinkExpressions(linkedSource, referenceType); foreach (var loadLinkExpression in loadLinkExpressions) { loadLinkExpression.AddLookupIds(linkedSource, lookupContext, referenceType); } } } return(lookupContext); }