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); }