public void FromXml(XElement element, IFromXmlContext ctx) { DisplayName = element.Attribute("DisplayName") !.Value; EntityType = element.Attribute("EntityType")?.Let(a => ctx.GetTypeLite(a.Value)); Owner = element.Attribute("Owner")?.Let(a => Lite.Parse <Entity>(a.Value)); DashboardPriority = element.Attribute("DashboardPriority")?.Let(a => int.Parse(a.Value)); EmbeddedInEntity = element.Attribute("EmbeddedInEntity")?.Let(a => a.Value.ToEnum <DashboardEmbedededInEntity>()); CombineSimilarRows = element.Attribute("CombineSimilarRows")?.Let(a => bool.Parse(a.Value)) ?? false; Parts.Synchronize(element.Element("Parts") !.Elements().ToList(), (pp, x) => pp.FromXml(x, ctx)); }
public void FromXml(XElement element, IFromXmlContext ctx) { DisplayName = element.Attribute("DisplayName") !.Value; EntityType = element.Attribute("EntityType")?.Let(a => ctx.GetTypeLite(a.Value)); Owner = element.Attribute("Owner")?.Let(a => Lite.Parse <Entity>(a.Value)); HideDisplayName = element.Attribute("HideDisplayName")?.Let(a => bool.Parse(a.Value)) ?? false; DashboardPriority = element.Attribute("DashboardPriority")?.Let(a => int.Parse(a.Value)); EmbeddedInEntity = element.Attribute("EmbeddedInEntity")?.Let(a => a.Value.ToEnum <DashboardEmbedededInEntity>()); CombineSimilarRows = element.Attribute("CombineSimilarRows")?.Let(a => bool.Parse(a.Value)) ?? false; CacheQueryConfiguration = CacheQueryConfiguration.CreateOrAssignEmbedded(element.Element(nameof(CacheQueryConfiguration)), (cqc, elem) => cqc.FromXml(elem)); Parts.Synchronize(element.Element("Parts") !.Elements().ToList(), (pp, x) => pp.FromXml(x, ctx)); TokenEquivalencesGroups.Synchronize(element.Element(nameof(TokenEquivalencesGroups))?.Elements().ToList() ?? new List <XElement>(), (teg, x) => teg.FromXml(x, ctx)); ParseData(q => ctx.GetQueryDescription(q)); }
public void FromXml(XElement element, IFromXmlContext ctx) { DisplayName = element.Attribute("DisplayName") !.Value; Query = ctx.GetQuery(element.Attribute("Query") !.Value); EntityType = element.Attribute("EntityType")?.Let(a => ctx.GetTypeLite(a.Value)); HideQuickLink = element.Attribute("HideQuickLink")?.Let(a => bool.Parse(a.Value)) ?? false; Owner = element.Attribute("Owner")?.Let(a => Lite.Parse(a.Value)) !; ChartScript = ctx.ChartScript(element.Attribute("ChartScript") !.Value); MaxRows = element.Attribute("MaxRows")?.Let(at => at.Value.ToInt()); Filters.Synchronize(element.Element("Filters")?.Elements().ToList(), (f, x) => f.FromXml(x, ctx)); Columns.Synchronize(element.Element("Columns")?.Elements().ToList(), (c, x) => c.FromXml(x, ctx)); var paramsXml = (element.Element("Parameters")?.Elements()).EmptyIfNull().ToDictionary(a => a.Attribute("Name") !.Value); Parameters.ForEach(p => { var pxml = paramsXml.TryGetC(p.Name); if (pxml != null) { p.FromXml(pxml, ctx); } }); ParseData(ctx.GetQueryDescription(Query)); }