using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GreenTree.Nachtragsmanagement.Core.Configuration
{
    public class AppendixConfigurationSection : ConfigurationSection
    {
        /// <summary>
        /// The anonymous user used by the Microsoft IIS, so the application can differ the anonymous user from
        /// real domain users
        /// </summary>
        [ConfigurationProperty("iisAnonymousUser", DefaultValue = "IUSR", IsRequired = false)]
        public string IISAnonymousUser
        {
            get
            {
                return (string)this["iisAnonymousUser"];
            }
            set
            {
                this["iisAnonymousUser"] = value;
            }
        }

        /// <summary>
        /// The URL of the webservice providing updates for that application
        /// </summary>
        [ConfigurationProperty("checkUpdateUrl", IsRequired = false)]
        public string CheckUpdateUrl
        {
            get
            {
                return (string)this["checkUpdateUrl"];
            }
            set
            {
                this["checkUpdateUrl"] = value;
            }
        }

        /// <summary>
        /// Settings for mailserver handling
        /// </summary>
        [ConfigurationProperty("mailServer")]
        public MailServerElement MailServerElement
        {
            get
            {
                return (MailServerElement)this["mailServer"];
            }
            set
            {
                this["mailserver"] = value;
            }
        }

        /// <summary>
        /// Settings for LDAP server handling
        /// </summary>
        [ConfigurationProperty("ldapServer")]
        public LdapServerElement LdapServerElement
        {
            get
            {
                return (LdapServerElement)this["ldapServer"];
            }
            set
            {
                this["ldapServer"] = value;
            }
        }
    }
}
