using System.Configuration;
using Kreta.Core.SAP;

namespace Kreta.Core
{
    public class SapConfiguration : ConfigurationSection, ISAPConfiguration
    {
        [ConfigurationProperty(nameof(User), IsRequired = true)]
        public string User { get => (string)this[nameof(User)]; }

        [ConfigurationProperty(nameof(Password), IsRequired = true)]
        public string Password { get => (string)this[nameof(Password)]; }

        [ConfigurationProperty(nameof(BaseUrl), IsRequired = true)]
        public string BaseUrl { get => (string)this[nameof(BaseUrl)]; }

        [ConfigurationProperty(nameof(RogzitesUrl))]
        public string RogzitesUrl { get => string.Format("{0}/{1}", (string)this[nameof(BaseUrl)], (string)this[nameof(RogzitesUrl)]); }

        [ConfigurationProperty(nameof(LekerdezesUrl))]
        public string LekerdezesUrl { get => string.Format("{0}/{1}", (string)this[nameof(BaseUrl)], (string)this[nameof(LekerdezesUrl)]); }

        [ConfigurationProperty(nameof(LekerdezesKeretUrl))]
        public string LekerdezesKeretUrl { get => string.Format("{0}/{1}", (string)this[nameof(BaseUrl)], (string)this[nameof(LekerdezesKeretUrl)]); }

        [ConfigurationProperty(nameof(NotificationEmails))]
        public string NotificationEmails { get => ((string)this[nameof(NotificationEmails)]); }

        [ConfigurationProperty(nameof(NotificationEmailsBussinessLogic))]
        public string NotificationEmailsBussinessLogic { get => ((string)this[nameof(NotificationEmailsBussinessLogic)]); }
    }
}