private ILoadedObjectData GetLoadedObjectDataForDataContainer(DataContainer dataContainer, ILoadedObjectDataProvider alreadyLoadedObjectDataProvider) { if (dataContainer == null) { return(new NullLoadedObjectData()); } var knownLoadedObjectData = alreadyLoadedObjectDataProvider.GetLoadedObject(dataContainer.ID); return(knownLoadedObjectData ?? new FreshlyLoadedObjectData(dataContainer)); }
private ILoadedObjectData TransferParentObject(DomainObject parentObject, ILoadedObjectDataProvider alreadyLoadedObjectDataProvider) { if (parentObject == null) { return(new NullLoadedObjectData()); } var existingLoadedObject = alreadyLoadedObjectDataProvider.GetLoadedObject(parentObject.ID); if (existingLoadedObject != null) { return(existingLoadedObject); } else { return(TransferParentObject(parentObject.ID)); } }