Public feed #721966

Someone

public text v1 · immutable
Raw Edit
·published 2007-10-01 17:48 UTC
rendered paste body
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Text;

namespace FoldingSpace.ScanAndTag.Configuration.WebServices
{
    public class SourceTypeElement : ConfigurationElement
    {
        #region Fields
        private static ConfigurationProperty o_Type;

        private static ConfigurationPropertyCollection oc_Properties;
        #endregion

        #region Properties

        #region Type
        public string Type
        {
            get
            {
                return (string)this[o_Type];
            }
            set
            {
                this[o_Type] = value;
            }
        }
        #endregion

        #region Properties
        /// <summary>
        /// Override the Properties collection and return our custom one.
        /// </summary>
        protected override ConfigurationPropertyCollection Properties
        {
            get
            {
                return oc_Properties;
            }
        }
        #endregion

        #endregion

        #region Constructor
        static SourceTypeElement()
        {
            o_Type = new ConfigurationProperty("type", typeof(string), string.Empty, ConfigurationPropertyOptions.IsRequired);

            oc_Properties = new ConfigurationPropertyCollection();

            oc_Properties.Add(o_Type);
        }
        #endregion
    }
}

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Text;

namespace FoldingSpace.ScanAndTag.Configuration.WebServices
{
    [ConfigurationCollection(typeof(SourceTypeElement), AddItemName = "sourceType", CollectionType = ConfigurationElementCollectionType.BasicMap)]
    public class SourceTypeElementCollection : ConfigurationElementCollection
    {
        #region Fields
        private static ConfigurationPropertyCollection oc_Properties;
        #endregion

        #region Properties
        protected override ConfigurationPropertyCollection Properties
        {
            get { return oc_Properties; }
        }

        public override ConfigurationElementCollectionType CollectionType
        {
            get { return ConfigurationElementCollectionType.BasicMap; }
        }

        protected override string ElementName
        {
            get { return "sourceType"; }
        }
        #endregion

        #region Indexers
        public SourceTypeElement this[int index]
        {
            get
            {
                return (SourceTypeElement)base.BaseGet(index);
            }
            set
            {
                if (base.BaseGet(index) != null)
                    base.BaseRemoveAt(index);

                base.BaseAdd(index, value);
            }
        }

        public SourceTypeElement this[string name]
        {
            get
            {
                return (SourceTypeElement)base.BaseGet(name);
            }
        }
        #endregion

        #region Constructors
        static SourceTypeElementCollection()
        {
            oc_Properties = new ConfigurationPropertyCollection();
        }

        public SourceTypeElementCollection()
        {
        }
        #endregion

        #region Methods
        public void Add(SourceTypeElement item)
        {
            base.BaseAdd(item);
        }

        public void Remove(string name)
        {
            base.BaseRemove(name);
        }

        public void Remove(SourceTypeElement item)
        {
            base.BaseRemove(GetElementKey(item));
        }

        public void Clear()
        {
            base.BaseClear();
        }

        public void RemoveAt(int index)
        {
            base.BaseRemoveAt(index);
        }

        public string GetKey(int index)
        {
            return (string)base.BaseGetKey(index);
        }
        #endregion

        #region Overrides
        protected override ConfigurationElement CreateNewElement()
        {
            return new SourceTypeElement();
        }

        protected override object GetElementKey(ConfigurationElement element)
        {
            return (element as SourceTypeElement).Type;
        }
        #endregion
    }
}

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Text;

using FoldingSpace.ScanAndTag.Shared;

namespace FoldingSpace.ScanAndTag.Configuration.WebServices
{
    public class DocumentDestinationElement : ConfigurationElement
    {
        #region Fields
        private static ConfigurationProperty o_DisplayName;
        private static ConfigurationProperty o_Description;
        private static ConfigurationProperty o_Location;
        private static ConfigurationProperty o_Type;
        private static ConfigurationProperty o_ValidSourceTypes;
        private static ConfigurationProperty o_ValidDocumentTypes;
        private static ConfigurationProperty o_ValidUploaders;
        private static ConfigurationProperty o_ValidManagers;

        private static ConfigurationPropertyCollection oc_Properties;
        #endregion

        #region Properties

        #region DisplayName
        public string DisplayName
        {
            get
            {
                return (string)this[o_DisplayName];
            }
            set
            {
                this[o_DisplayName] = value;
            }
        }
        #endregion

        #region Description
        public string Description
        {
            get
            {
                return (string)this[o_Description];
            }
            set
            {
                this[o_Description] = value;
            }
        }
        #endregion

        #region Location
        public string Location
        {
            get
            {
                return (string)this[o_Location];
            }
            set
            {
                this[o_Location] = value;
            }
        }
        #endregion

        #region Type
        public string Type
        {
            get
            {
                return (string)this[o_Type];
            }
            set
            {
                this[o_Type] = value;
            }
        }
        #endregion

        #region ValidSourceTypes
        public SourceTypeElementCollection ValidSourceTypes
        {
            get
            {
                return (SourceTypeElementCollection)this[o_ValidSourceTypes];
            }
        }
        #endregion

        #region ValidDocumentTypes
        public DocumentFilterElementCollection ValidDocumentTypes
        {
            get
            {
                return (DocumentFilterElementCollection)this[o_ValidDocumentTypes];
            }
        }
        #endregion

        #region ValidUploaders
        public SecurityPrincipalElementCollection ValidUploaders
        {
            get
            {
                return (SecurityPrincipalElementCollection)this[o_ValidUploaders];
            }
        }
        #endregion

        #region ValidManagers
        public SecurityPrincipalElementCollection ValidManagers
        {
            get
            {
                return (SecurityPrincipalElementCollection)this[o_ValidManagers];
            }
        }
        #endregion

        #region Properties
        /// <summary>
        /// Override the Properties collection and return our custom one.
        /// </summary>
        protected override ConfigurationPropertyCollection Properties
        {
            get
            {
                return oc_Properties;
            }
        }
        #endregion

        #endregion

        #region Constructor
        static DocumentDestinationElement()
        {
            DocumentFilterElementCollection validDocumentTypesDefault = new DocumentFilterElementCollection();
            DocumentFilterElement documentFilter = new DocumentFilterElement();
            documentFilter.Type = DocumentFilterType.All;
            validDocumentTypesDefault.Add(documentFilter);

            o_DisplayName = new ConfigurationProperty("displayName", typeof(string), string.Empty, ConfigurationPropertyOptions.IsRequired);
            o_Description = new ConfigurationProperty("description", typeof(string), string.Empty, ConfigurationPropertyOptions.None);
            o_Location = new ConfigurationProperty("location", typeof(string), string.Empty, ConfigurationPropertyOptions.IsRequired);
            o_Type = new ConfigurationProperty("type", typeof(string), string.Empty, ConfigurationPropertyOptions.IsRequired);
            o_ValidSourceTypes = new ConfigurationProperty("validSourceTypes", typeof(SourceTypeElementCollection), null, ConfigurationPropertyOptions.IsRequired);
            o_ValidDocumentTypes = new ConfigurationProperty("validDocumentTypes", typeof(DocumentFilterElementCollection), validDocumentTypesDefault, ConfigurationPropertyOptions.None);
            o_ValidUploaders = new ConfigurationProperty("validUploaders", typeof(SecurityPrincipalElementCollection), null, ConfigurationPropertyOptions.IsRequired);
            o_ValidManagers = new ConfigurationProperty("validManagers", typeof(SecurityPrincipalElementCollection), new SecurityPrincipalElementCollection(), ConfigurationPropertyOptions.None);

            oc_Properties = new ConfigurationPropertyCollection();

            oc_Properties.Add(o_DisplayName);
            oc_Properties.Add(o_Description);
            oc_Properties.Add(o_Location);
            oc_Properties.Add(o_Type);
            oc_Properties.Add(o_ValidSourceTypes);
            oc_Properties.Add(o_ValidDocumentTypes);
            oc_Properties.Add(o_ValidUploaders);
            oc_Properties.Add(o_ValidManagers);
        }
        #endregion
    }
}