public static void GetDebugControlName(IFormChannelIdentifier channel, out string debugControlNamespace, out string debugControlName) { if (null == ConfigurationServices.ConfigurationSource) { throw new ConfigurationErrorsException("Missing configuration"); } UiControlFactorySettings settings = ConfigurationServices.ConfigurationSource.GetSection(UiControlFactorySettings.SectionName) as UiControlFactorySettings; if (null == settings) { throw new ConfigurationErrorsException(string.Format("The configuration section '{0}' was not found in the configuration", UiControlFactorySettings.SectionName)); } try { debugControlNamespace = settings.Channels[channel.ChannelName].DebugControlNamespace; debugControlName = settings.Channels[channel.ChannelName].DebugControlName; } catch (Exception e) { throw new ConfigurationErrorsException(string.Format("The channel {0} is missing from the configuration", channel.ChannelName), e); } }
/// <exclude /> public static IEnumerable <string> GetControlPaths() { UiControlFactorySettings uiControlFactorySettings = ConfigurationServices.ConfigurationSource.GetSection(UiControlFactorySettings.SectionName) as UiControlFactorySettings; foreach (Composite.C1Console.Forms.Plugins.UiControlFactory.Runtime.ChannelConfigurationElement channelElement in uiControlFactorySettings.Channels) { foreach (NamespaceConfigurationElement namespaceElement in channelElement.Namespaces) { foreach (UiControlFactoryData uiControlFactoryData in namespaceElement.Factories) { PropertyInfo propertyInfo = uiControlFactoryData.GetType().GetProperty("UserControlVirtualPath"); if (propertyInfo != null) { string path = (string)propertyInfo.GetValue(uiControlFactoryData, null); yield return(path); } } } } UiContainerFactorySettings uiContainerFactorySettings = ConfigurationServices.ConfigurationSource.GetSection(UiContainerFactorySettings.SectionName) as UiContainerFactorySettings; foreach (Composite.C1Console.Forms.Flows.Plugins.UiContainerFactory.Runtime.ChannelConfigurationElement channelElement in uiContainerFactorySettings.Channels) { foreach (UiContainerFactoryData uiControlFactoryData in channelElement.Factories) { PropertyInfo propertyInfo = uiControlFactoryData.GetType().GetProperty("UserControlVirtualPath"); if (propertyInfo != null) { string path = (string)propertyInfo.GetValue(uiControlFactoryData, null); yield return(path); } } } }