public ElementAttachingProviderResult GetAlternateElementList(EntityToken parentEntityToken, Dictionary<string, string> piggybag) { if (parentEntityToken is GeneratedDataTypesElementProviderTypeEntityToken) { var token = parentEntityToken as GeneratedDataTypesElementProviderTypeEntityToken; if (token.SerializedTypeName == TypeManager.SerializeType(typeof(ApiKey))) { var label = IssuuApi.GetDefaultLabel(); if (!string.IsNullOrEmpty(label)) { ElementAttachingProviderResult result = new ElementAttachingProviderResult() { Elements = GetRootElements(label, piggybag), Position = ElementAttachingProviderPosition.Top, PositionPriority = 0 }; return result; } } } return null; }
public ElementAttachingProviderResult GetAlternateElementList( EntityToken parentEntityToken, Dictionary<string, string> piggybag) { if (!(parentEntityToken is PackageElementProviderRootEntityToken)) return null; ElementAttachingProviderResult result = new ElementAttachingProviderResult() { Elements = GetRootElements(piggybag), Position = ElementAttachingProviderPosition.Top, PositionPriority = 0 }; return result; }
public IEnumerable<ElementAttachingProviderResult> GetAlternateElementLists(EntityToken parentEntityToken, Dictionary<string, string> piggybag) { TreeSharedRootsFacade.Initialize(Context.ProviderName); IEnumerable<Tree> trees = TreeFacade.GetTreesByEntityToken(parentEntityToken); foreach (Tree tree in trees) { foreach (IAttachmentPoint attachmentPoint in tree.GetAttachmentPoints(parentEntityToken)) { TreeNodeDynamicContext dynamicContext = new TreeNodeDynamicContext(TreeNodeDynamicContextDirection.Down) { ElementProviderName = this.Context.ProviderName, Piggybag = piggybag, CurrentEntityToken = parentEntityToken, CurrentTreeNode = tree.RootTreeNode, IsRoot = true }; ElementAttachingProviderResult result = null; try { result = new ElementAttachingProviderResult() { Elements = tree.RootTreeNode.GetElements(parentEntityToken, dynamicContext).Evaluate(), Position = attachmentPoint.Position, PositionPriority = 0 }; } catch (Exception ex) { LoggingService.LogError("TreeFacade", string.Format("Getting elements from the three '{0}' failed", tree.TreeId)); LoggingService.LogError("TreeFacade", ex); Element errorElement = ShowErrorElementHelper.CreateErrorElement( StringResourceSystemFacade.GetString("Composite.C1Console.Trees", "KeyFacade.ErrorTreeNode.Label"), tree.TreeId, ex.Message); result = new ElementAttachingProviderResult() { Elements = new List<Element>() { errorElement }, Position = attachmentPoint.Position, PositionPriority = 0 }; } yield return result; } } foreach (CustomTreePerspectiveInfo info in TreeSharedRootsFacade.SharedRootFolders.Values) { if (info.AttachmentPoint.IsAttachmentPoint(parentEntityToken)) { Element element = new Element(new ElementHandle(info.Element.ElementHandle.ProviderName, info.Element.ElementHandle.EntityToken)) { VisualData = info.Element.VisualData }; int counter = 0; foreach (Tree tree in info.Trees) { string key = StringConstants.PiggybagSharedTreeId + (counter++); element.ElementHandle.Piggyback[key] = tree.TreeId; } ElementAttachingProviderResult result = new ElementAttachingProviderResult { Elements = new [] { info.Element }, Position = info.AttachmentPoint.Position, PositionPriority = 10000 }; yield return result; } } }