Exemple #1
0
        protected static List <ListEntryData> TransformCmdList(ICollection <CmdBase> items)
        {
            var result = new List <ListEntryData>(items.Count);

            foreach (var item in items)
            {
                var newElement = new ListEntryData
                {
                    Id      = item.Id,
                    Command = item.Value
                };

                if (item is CmdContainer container)
                {
                    newElement.Items = TransformCmdList(container.Items);
                }

                result.Add(newElement);
            }
            return(result);
        }
        public static ToolWindowStateProjectData ParseOldJsonFormat(JToken root)
        {
            var result = new ToolWindowStateProjectData();

            if (root is JObject)
            {
                foreach (var item in root["DataCollection"])
                {
                    var listItem = new ListEntryData();
                    result.Items.Add(listItem);

                    listItem.Command = (string)item["Command"];
                    listItem.Enabled = ((bool?)item["Enabled"]).GetValueOrDefault();

                    if (Guid.TryParse((string)item["Id"], out Guid parsedID))
                    {
                        listItem.Id = parsedID;
                    }
                }
            }

            return(result);
        }