/// <summary> /// Process an applet collection /// </summary> private void ProcessApplet(ReadonlyAppletCollection appletCollection) { var bisDefinitions = appletCollection.SelectMany(o => o.Assets) .Where(o => o.Name.StartsWith("bi/") && o.Name.EndsWith(".xml")) .Select(o => { try { this.m_tracer.TraceVerbose("Attempting to load {0}", o.Name); using (var ms = new MemoryStream(appletCollection.RenderAssetContent(o))) return new { Definition = BiDefinition.Load(ms), Asset = o }; } catch (Exception e) { this.m_tracer.TraceWarning("Could not load BIS Definition: {0} : {1}", o.Name, e); return(null); } }) .OfType <dynamic>() .ToArray(); // Process contents foreach (var itm in bisDefinitions) { this.ProcessBisDefinition(itm.Definition); #if DEBUG if (itm.Definition is BiReportDefinition || itm.Definition is BiViewDefinition || itm.Definition is BiQueryDefinition) { this.m_definitionCache[itm.Definition.GetType()][itm.Definition.Id] = itm.Asset; } #endif } }
/// <summary> /// Local applet manager ctor /// </summary> public LocalAppletManagerService() { this.m_appletCollection = new AppletCollection(); this.m_readonlyAppletCollection = this.m_appletCollection.AsReadonly(); this.m_readonlyAppletCollection.CollectionChanged += (o, e) => this.Changed?.Invoke(o, e); }
/// <summary> /// Local applet manager ctor /// </summary> public LocalAppletManagerService() { this.m_appletCollection = new AppletCollection(); this.m_readonlyAppletCollection = this.m_appletCollection.AsReadonly(); }