Ejemplo n.º 1
0
        public void LoadTypes()
        {
            if (null == this._agent)
            {
                throw new InvalidOperationException("Agent not set");
            }
            string key = ConfigurationManager.AppSettings["CONTROL_TYPES"];

            if (string.IsNullOrEmpty(key))
            {
                throw new ApplicationException("'CONTROL_TYPES' web.config key not set");
            }

            XmlDocument doc = new XmlDocument();

            try
            {
                doc.Load(this._agent.OpenStream(key));
            }
            finally
            {
                this._agent.CloseStream(key);
            }
            XmlNode root = doc.SelectSingleNode("types");

            if (null == root)
            {
                throw new InvalidOperationException("Control types file has no types node");
            }

            foreach (XmlNode node in root.ChildNodes)
            {
                ControlFactory.ControlDescriptor descriptor = new ControlFactory.ControlDescriptor(node.Attributes["key"].Value,
                                                                                                   node.Attributes["name"].Value,
                                                                                                   (node.Attributes["readOnly"] == null) ? string.Empty : node.Attributes["readOnly"].Value,
                                                                                                   (node.Attributes["readOnlyValue"] == null) ? string.Empty : node.Attributes["readOnlyValue"].Value,
                                                                                                   (node.Attributes["watermark"] == null) ? string.Empty : node.Attributes["watermark"].Value);
                if (node.HasChildNodes)
                {
                    foreach (XmlNode child in node.ChildNodes)
                    {
                        ControlFactory.PropertyDescriptor propertyDescriptor = new ControlFactory.PropertyDescriptor(child.Attributes["name"].Value, (child.Attributes["value"] == null) ? string.Empty : child.Attributes["value"].Value, (child.Attributes["options"] == null) ? string.Empty : child.Attributes["options"].Value, (child.Attributes["ValueType"] == null) ? string.Empty : child.Attributes["ValueType"].Value, child.Attributes["isList"] != null && bool.Parse(child.Attributes["isList"].Value));
                        descriptor.EditableProperties.Add(propertyDescriptor.Name, propertyDescriptor);
                    }
                }
                this._knownTypes.Add(descriptor.Key, descriptor);
            }
        }
Ejemplo n.º 2
0
        public void LoadTypes()
        {
            if (null == this._agent) { throw new InvalidOperationException("Agent not set"); }
            string key = ConfigurationManager.AppSettings["CONTROL_TYPES"];
            if (string.IsNullOrEmpty(key)) { throw new ApplicationException("'CONTROL_TYPES' web.config key not set"); }

            XmlDocument doc = new XmlDocument();
            try
            {
                doc.Load(this._agent.OpenStream(key));
            }
            finally
            {
                this._agent.CloseStream(key);
            }
            XmlNode root = doc.SelectSingleNode("types");
            if (null == root) { throw new InvalidOperationException("Control types file has no types node"); }

            foreach (XmlNode node in root.ChildNodes)
            {
                ControlFactory.ControlDescriptor descriptor = new ControlFactory.ControlDescriptor(node.Attributes["key"].Value,
                                                                                                   node.Attributes["name"].Value,
                                                                                                   (node.Attributes["readOnly"] == null) ? string.Empty : node.Attributes["readOnly"].Value,
                                                                                                   (node.Attributes["readOnlyValue"] == null) ? string.Empty : node.Attributes["readOnlyValue"].Value,
                                                                                                   (node.Attributes["watermark"] == null) ? string.Empty : node.Attributes["watermark"].Value);
                if (node.HasChildNodes)
                {
                    foreach (XmlNode child in node.ChildNodes)
                    {
                        ControlFactory.PropertyDescriptor propertyDescriptor = new ControlFactory.PropertyDescriptor(child.Attributes["name"].Value, (child.Attributes["value"] == null) ? string.Empty : child.Attributes["value"].Value, (child.Attributes["options"] == null) ? string.Empty : child.Attributes["options"].Value, (child.Attributes["ValueType"] == null) ? string.Empty : child.Attributes["ValueType"].Value, child.Attributes["isList"] != null && bool.Parse(child.Attributes["isList"].Value));
                        descriptor.EditableProperties.Add(propertyDescriptor.Name, propertyDescriptor);
                    }
                }
                this._knownTypes.Add(descriptor.Key, descriptor);
            }
        }