Beispiel #1
0
 public SiteSettingInfo GetSiteSetting()
 {
     try
     {
         var settings = _siteSettingRepository.GetSettings();
         var strRegistrationEnabled  = settings.First(s => s.SettingName == "RegistrationEnabled").SettingValue;
         var strDefaultAdminLayoutId = settings.First(s => s.SettingName == "DefaultAdminLayoutId").SettingValue;
         var strHomePageId           = settings.First(s => s.SettingName == "HomePageId").SettingValue;
         var strLoginPageId          = settings.First(s => s.SettingName == "LoginPageId").SettingValue;
         var strRedirectAfterLogin   = settings.First(s => s.SettingName == "RedirectAfterLogin").SettingValue;
         var strRedirectAfterLogout  = settings.First(s => s.SettingName == "RedirectAfterLogout").SettingValue;
         var strRegistrationPageId   = settings.First(s => s.SettingName == "RegistrationPageId").SettingValue;
         var strDefaultLayoutId      = settings.First(s => s.SettingName == "DefaultLayoutId").SettingValue;
         var result = new SiteSettingInfo()
         {
             DefaultAdminLayoutId = string.IsNullOrEmpty(strDefaultAdminLayoutId) ? Guid.Parse(strDefaultAdminLayoutId) : Guid.Empty,
             DefaultLayoutId      = !string.IsNullOrEmpty(strDefaultLayoutId) ? Guid.Parse(strDefaultLayoutId) : Guid.Empty,
             DefaultAdminTheme    = settings.First(s => s.SettingName == "DefaultAdminTheme").SettingValue,
             HomePageId           = !string.IsNullOrEmpty(strHomePageId) ? Guid.Parse(strHomePageId) : Guid.Empty,
             LoginPageId          = !string.IsNullOrEmpty(strLoginPageId) ? Guid.Parse(strLoginPageId) : Guid.Empty,
             RedirectAfterLogin   = !string.IsNullOrEmpty(strRedirectAfterLogin) ? Guid.Parse(strRedirectAfterLogin) : Guid.Empty,
             RedirectAfterLogout  = !string.IsNullOrEmpty(strRedirectAfterLogout) ? Guid.Parse(strRedirectAfterLogout) : Guid.Empty,
             RegistrationEnabled  = !string.IsNullOrEmpty(strRegistrationEnabled) ? bool.Parse(strRegistrationEnabled) : false,
             RegistrationPageId   = !string.IsNullOrEmpty(strRegistrationPageId) ? Guid.Parse(strRegistrationPageId) : Guid.Empty,
             SiteAdminEmail       = settings.First(s => s.SettingName == "SiteAdminEmail").SettingValue,
             DefaultTheme         = settings.First(s => s.SettingName == "DefaultTheme").SettingValue,
             SiteDescription      = settings.First(s => s.SettingName == "SiteDescription").SettingValue,
             SiteLanguage         = settings.First(s => s.SettingName == "SiteLanguage").SettingValue,
             SiteName             = settings.First(s => s.SettingName == "SiteName").SettingValue,
             SiteRoot             = settings.First(s => s.SettingName == "SiteRoot").SettingValue,
         };
         return(result);
     }
     catch (Exception ex)
     {
         _logger.LogError("Error occured while calling Get", ex);
     }
     return(null);
 }
        public SiteSettingInfo GetSiteSetting()
        {
            var settings               = _siteSettingRepository.GetSettingsAsDictionary();
            var allLanguages           = _languageManager.GetAllLanguages();
            var allPages               = GetPages();
            var allAuthenticationTypes = SMTPAuthentication.GetSmtpAuthentications();
            var allThemes              = GetThemes();
            var allLayouts             = _layoutManager.GetPageLayouts();


            var strSiteLanguage              = settings[nameof(SiteSettingInfo.SiteLanguage)];
            var strHomePageId                = settings[nameof(SiteSettingInfo.HomePageId)];
            var strLoginPageId               = settings[nameof(SiteSettingInfo.LoginPageId)];
            var strRegistrationPageId        = settings[nameof(SiteSettingInfo.RegistrationPageId)];
            var strRedirectAfterLoginPageId  = settings[nameof(SiteSettingInfo.RedirectAfterLogin)];
            var strRedirectAfterLogoutPageId = settings[nameof(SiteSettingInfo.RedirectAfterLogout)];

            var strSMTPAuthentication = settings[nameof(SiteSettingInfo.SmtpAuthentication)];
            var strSMTPEnableSSL      = settings[nameof(SiteSettingInfo.SmtpEnableSSL)];

            var strDefaultLayoutId      = settings[nameof(SiteSettingInfo.DefaultLayoutId)];
            var strDefaultTheme         = settings[nameof(SiteSettingInfo.DefaultTheme)];
            var strDefaultAdminLayoutId = settings[nameof(SiteSettingInfo.DefaultAdminLayoutId)];
            var strDefaultAdminTheme    = settings[nameof(SiteSettingInfo.DefaultAdminTheme)];


            var strRegistrationEnabled = settings[nameof(SiteSettingInfo.RegistrationEnabled)];
            var strEnableFacebookAuth  = settings[nameof(SiteSettingInfo.EnableFacebookAuth)];
            var strEnableGoogleAuth    = settings[nameof(SiteSettingInfo.EnableGoogleAuth)];
            var strEnableTwitterAuth   = settings[nameof(SiteSettingInfo.EnableTwitterAuth)];

            var siteSettings = new SiteSettingInfo()
            {
                SiteName        = settings[nameof(SiteSettingInfo.SiteName)],
                SiteDescription = settings[nameof(SiteSettingInfo.SiteDescription)],
                SiteAdminEmail  = settings[nameof(SiteSettingInfo.SiteAdminEmail)],
                SiteRoot        = settings[nameof(SiteSettingInfo.SiteRoot)],
                SiteHeaderTags  = settings[nameof(SiteSettingInfo.SiteHeaderTags)],
                SiteLanguage    = allLanguages.FirstOrDefault(l =>
                                                              string.Equals(l.CultureCode, strSiteLanguage, StringComparison.InvariantCultureIgnoreCase)),

                HomePage            = !string.IsNullOrEmpty(strHomePageId) ? allPages.FirstOrDefault(p => p.Id == Guid.Parse(strHomePageId)) : null,
                LoginPage           = !string.IsNullOrEmpty(strLoginPageId) ? allPages.FirstOrDefault(p => p.Id == Guid.Parse(strLoginPageId)) : null,
                RegistrationPage    = !string.IsNullOrEmpty(strRegistrationPageId) ? allPages.FirstOrDefault(p => p.Id == Guid.Parse(strRegistrationPageId)) : null,
                RedirectAfterLogin  = !string.IsNullOrEmpty(strRedirectAfterLoginPageId) ? allPages.FirstOrDefault(p => p.Id == Guid.Parse(strRedirectAfterLoginPageId)) : null,
                RedirectAfterLogout = !string.IsNullOrEmpty(strRedirectAfterLogoutPageId) ? allPages.FirstOrDefault(p => p.Id == Guid.Parse(strRedirectAfterLogoutPageId)) : null,

                SmtpServerAndPort  = settings[nameof(SiteSettingInfo.SmtpServerAndPort)],
                SmtpAuthentication = allAuthenticationTypes.FirstOrDefault(at => string.Equals(at.Name, strSMTPAuthentication, StringComparison.InvariantCultureIgnoreCase)),
                SmtpEnableSSL      = !string.IsNullOrEmpty(strSMTPEnableSSL) && bool.Parse(strSMTPEnableSSL),
                SmtpUsername       = settings[nameof(SiteSettingInfo.SmtpUsername)],
                SmtpPassword       = settings[nameof(SiteSettingInfo.SmtpPassword)],

                DefaultLayout      = !string.IsNullOrEmpty(strDefaultLayoutId) ? allLayouts.FirstOrDefault(l => l.Id == Guid.Parse(strDefaultLayoutId)) : null,
                DefaultAdminLayout = !string.IsNullOrEmpty(strDefaultAdminLayoutId) ? allLayouts.FirstOrDefault(l => l.Id == Guid.Parse(strDefaultAdminLayoutId)) : null,
                DefaultTheme       = !string.IsNullOrEmpty(strDefaultTheme) ? allThemes.FirstOrDefault(t => t.Id == strDefaultTheme) : null,
                DefaultAdminTheme  = !string.IsNullOrEmpty(strDefaultAdminTheme) ? allThemes.FirstOrDefault(t => t.Id == strDefaultAdminTheme) : null,

                RegistrationEnabled   = !string.IsNullOrEmpty(strRegistrationEnabled) && bool.Parse(strRegistrationEnabled),
                EnableFacebookAuth    = !string.IsNullOrEmpty(strEnableFacebookAuth) && bool.Parse(strEnableFacebookAuth),
                EnableGoogleAuth      = !string.IsNullOrEmpty(strEnableGoogleAuth) && bool.Parse(strEnableGoogleAuth),
                EnableTwitterAuth     = !string.IsNullOrEmpty(strEnableTwitterAuth) && bool.Parse(strEnableTwitterAuth),
                FacebookAppId         = settings[nameof(SiteSettingInfo.FacebookAppId)],
                FacebookAppSecret     = settings[nameof(SiteSettingInfo.FacebookAppSecret)],
                GoogleClientId        = settings[nameof(SiteSettingInfo.GoogleClientId)],
                GoogleClientSecret    = settings[nameof(SiteSettingInfo.GoogleClientSecret)],
                TwitterConsumerKey    = settings[nameof(SiteSettingInfo.TwitterConsumerKey)],
                TwitterConsumerSecret = settings[nameof(SiteSettingInfo.TwitterConsumerSecret)],
            };

            return(siteSettings);
        }
        public SiteSettingInfo UpdateSettingInfo(SiteSettingInfo settingInfo)
        {
            var settings = _siteSettingRepository.GetSettings();
            var allAuthenticationTypes = SMTPAuthentication.GetSmtpAuthentications();

            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SiteName)).SettingValue        = settingInfo.SiteName;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SiteDescription)).SettingValue = settingInfo.SiteDescription;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SiteAdminEmail)).SettingValue  = settingInfo.SiteAdminEmail;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SiteRoot)).SettingValue        = settingInfo.SiteRoot;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SiteHeaderTags)).SettingValue  = settingInfo.SiteHeaderTags;

            if (settingInfo.SiteLanguage != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.SiteLanguage)).SettingValue = settingInfo.SiteLanguage.CultureCode;
            }

            if (settingInfo.HomePage != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.HomePageId)).SettingValue = settingInfo.HomePage.Id.ToString();
            }
            if (settingInfo.LoginPage != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.LoginPageId)).SettingValue = settingInfo.LoginPage.Id.ToString();
            }
            if (settingInfo.RegistrationPage != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.RegistrationPageId)).SettingValue = settingInfo.RegistrationPage.Id.ToString();
            }
            if (settingInfo.RedirectAfterLogin != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.RedirectAfterLogin)).SettingValue = settingInfo.RedirectAfterLogin.Id.ToString();
            }
            if (settingInfo.RedirectAfterLogout != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.RedirectAfterLogout)).SettingValue = settingInfo.RedirectAfterLogout.Id.ToString();
            }

            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SmtpServerAndPort)).SettingValue = settingInfo.SmtpServerAndPort;
            if (settingInfo.SmtpAuthentication != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.SmtpAuthentication)).SettingValue = allAuthenticationTypes.First(at => at.Id == settingInfo.SmtpAuthentication.Id).Name;
            }
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SmtpEnableSSL)).SettingValue = settingInfo.SmtpEnableSSL.ToString().ToLower();
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SmtpUsername)).SettingValue  = settingInfo.SmtpUsername;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.SmtpPassword)).SettingValue  = settingInfo.SmtpPassword;

            if (settingInfo.DefaultLayout != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.DefaultLayoutId)).SettingValue = settingInfo.DefaultLayout.Id.ToString();
            }
            if (settingInfo.DefaultAdminLayout != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.DefaultAdminLayoutId)).SettingValue = settingInfo.DefaultAdminLayout.Id.ToString();
            }
            if (settingInfo.DefaultTheme != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.DefaultTheme)).SettingValue = settingInfo.DefaultTheme.Id;
            }
            if (settingInfo.DefaultAdminTheme != null)
            {
                settings.First(s => s.SettingName == nameof(SiteSettingInfo.DefaultAdminTheme)).SettingValue = settingInfo.DefaultAdminTheme.Id;
            }

            settings.First(s => s.SettingName == nameof(SiteSettingInfo.RegistrationEnabled)).SettingValue   = settingInfo.RegistrationEnabled.ToString().ToLower();
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.EnableFacebookAuth)).SettingValue    = settingInfo.EnableFacebookAuth.ToString().ToLower();
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.EnableGoogleAuth)).SettingValue      = settingInfo.EnableGoogleAuth.ToString().ToLower();
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.EnableTwitterAuth)).SettingValue     = settingInfo.EnableTwitterAuth.ToString().ToLower();
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.FacebookAppId)).SettingValue         = settingInfo.FacebookAppId;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.FacebookAppSecret)).SettingValue     = settingInfo.FacebookAppSecret;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.GoogleClientId)).SettingValue        = settingInfo.GoogleClientId;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.GoogleClientSecret)).SettingValue    = settingInfo.GoogleClientSecret;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.TwitterConsumerKey)).SettingValue    = settingInfo.TwitterConsumerKey;
            settings.First(s => s.SettingName == nameof(SiteSettingInfo.TwitterConsumerSecret)).SettingValue = settingInfo.TwitterConsumerSecret;

            _siteSettingRepository.UpdateSetting(settings);

            return(GetSiteSetting());
        }