예제 #1
0
        private string ComputeCacheKey(CommandBarData data)
        {
            var primaryKey  = data.PrimaryItems.Aggregate("", (acc, item) => acc + item.CacheKey);
            var farKey      = data.PrimaryItems.Aggregate("", (acc, item) => acc + item.CacheKey);
            var overflowKey = data.PrimaryItems.Aggregate("", (acc, item) => acc + item.CacheKey);

            return(string.Join(" ", primaryKey, farKey, overflowKey));
        }
예제 #2
0
        protected override Task OnParametersSetAsync()
        {
            _currentData = new CommandBarData()
            {
                PrimaryItems         = new System.Collections.Generic.List <ICommandBarItem>(Items != null ? Items : new List <ICommandBarItem>()),
                OverflowItems        = new System.Collections.Generic.List <ICommandBarItem>(OverflowItems != null ? OverflowItems : new List <ICommandBarItem>()),
                FarItems             = new System.Collections.Generic.List <ICommandBarItem>(FarItems != null ? FarItems : new List <ICommandBarItem>()),
                MinimumOverflowItems = OverflowItems != null?OverflowItems.Count() : 0,
                                           CacheKey = ""
            };

            return(base.OnParametersSetAsync());
        }
예제 #3
0
        //private int count = 0;
        private void loadXmlNodes(IBasicData parentBasicData, XmlNode xmlNode)
        {
            // este simbolo faz ocorrer um erro no xml:  --&gt;
            //Debug.WriteLine(count++);
            int         index         = 1;
            XmlNodeList FirstsNodes   = xmlNode.ChildNodes;
            IBasicData  tempBasicData = null;

            foreach (XmlNode item in FirstsNodes)
            {
                string tagName = item.Name;
                // Debug.WriteLine(tagName);

                switch (tagName)
                {
                case "userData":
                    tempBasicData = new UserData();
                    break;

                case "commandBarData":
                    tempBasicData = new CommandBarData();
                    break;

                case "state":
                    tempBasicData = new StateData();
                    break;

                case "itemData":
                    tempBasicData = new ItemData();
                    break;

                case "dialog":
                    tempBasicData = new DialogData();
                    break;

                case "viewTemplate":
                    tempBasicData = new ViewTemplate();
                    break;

                case "dockerData":
                    tempBasicData = new DockerData();
                    break;

                case "container":
                    tempBasicData = new ContainerData();
                    break;

                case "frame":
                    tempBasicData = new FrameData();
                    break;

                default:
                    tempBasicData = new OtherData();
                    break;
                }

                if (tempBasicData != null && parentBasicData != null)
                {
                    tempBasicData.TagName = tagName;
                    tempBasicData.SetXmlChildreID(index);
                    tempBasicData.SetXmlChildreParentID(parentBasicData.XmlChildreID);
                    tempBasicData.Parent = parentBasicData;
                    index++;
                    try {
                        if (item.Attributes != null)
                        {
                            foreach (XmlAttribute att in item.Attributes)
                            {
                                if (att.Name == "guid")
                                {
                                    tempBasicData.Guid = att.Value;
                                    //break;
                                }
                                if (att.Name == "guidRef")
                                {
                                    tempBasicData.GuidRef = att.Value;
                                    //break;
                                }
                                tempBasicData.Attributes.Add(new DataClass.Attribute(att.Name, att.Value));
                            }
                        }
                    }
                    catch (Exception)
                    {
                        throw new Exception("Attribute load failed in tag \"" + tagName + "\"");
                    }


                    tempBasicData.SetTreeLevel(parentBasicData.TreeLevel);
                    parentBasicData.Add(tempBasicData);
                    if (item.ChildNodes.Count > 0)
                    {
                        loadXmlNodes(tempBasicData, item);
                    }
                }
            }
        }