Example #1
0
 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));
 }
Example #2
0
 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));
 }
Example #3
0
        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));
        }