Пример #1
0
        public ActionResult CustomerUser(CustomerUserSettingsModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings))
            {
                return(AccessDeniedView());
            }


            var customerSettings = _settingService.LoadSetting <CustomerSettings>();
            var dateTimeSettings = _settingService.LoadSetting <DateTimeSettings>();
            var externalAuthenticationSettings = _settingService.LoadSetting <ExternalAuthenticationSettings>();

            customerSettings = model.CustomerSettings.ToEntity(customerSettings);
            _settingService.SaveSetting(customerSettings);


            dateTimeSettings.DefaultStoreTimeZoneId      = model.DateTimeSettings.DefaultStoreTimeZoneId;
            dateTimeSettings.AllowCustomersToSetTimeZone = model.DateTimeSettings.AllowCustomersToSetTimeZone;
            _settingService.SaveSetting(dateTimeSettings);

            externalAuthenticationSettings.AutoRegisterEnabled =
                model.ExternalAuthenticationSettings.AutoRegisterEnabled;
            _settingService.SaveSetting(externalAuthenticationSettings);

            //activity log
            _customerActivityService.InsertActivity("EditSettings",
                                                    _localizationService.GetResource("ActivityLog.EditSettings"));

            SuccessNotification(_localizationService.GetResource("Admin.Configuration.Updated"));

            //selected tab
            SaveSelectedTabIndex();

            return(RedirectToAction("CustomerUser"));
        }
Пример #2
0
        public ActionResult CustomerUser()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings))
            {
                return(AccessDeniedView());
            }

            var customerSettings = _settingService.LoadSetting <CustomerSettings>();
            var dateTimeSettings = _settingService.LoadSetting <DateTimeSettings>();
            var externalAuthenticationSettings = _settingService.LoadSetting <ExternalAuthenticationSettings>();

            //merge settings
            var model = new CustomerUserSettingsModel();

            model.CustomerSettings = customerSettings.ToModel();

            model.DateTimeSettings.AllowCustomersToSetTimeZone = dateTimeSettings.AllowCustomersToSetTimeZone;
            model.DateTimeSettings.DefaultStoreTimeZoneId      = _dateTimeHelper.DefaultStoreTimeZone.Id;
            foreach (var timeZone in _dateTimeHelper.GetSystemTimeZones())
            {
                model.DateTimeSettings.AvailableTimeZones.Add(new SelectListItem
                {
                    Text     = timeZone.DisplayName,
                    Value    = timeZone.Id,
                    Selected =
                        timeZone.Id.Equals(_dateTimeHelper.DefaultStoreTimeZone.Id,
                                           StringComparison.InvariantCultureIgnoreCase)
                });
            }

            model.ExternalAuthenticationSettings.AutoRegisterEnabled =
                externalAuthenticationSettings.AutoRegisterEnabled;

            return(View(model));
        }
Пример #3
0
        public async Task <IActionResult> CustomerUser(
            int storeScope,
            CustomerSettings customerSettings,
            AddressSettings addressSettings,
            PrivacySettings privacySettings)
        {
            var model = new CustomerUserSettingsModel();

            await MapperFactory.MapAsync(customerSettings, model.CustomerSettings);

            await MapperFactory.MapAsync(addressSettings, model.AddressSettings);

            await MapperFactory.MapAsync(privacySettings, model.PrivacySettings);

            AddLocales(model.Locales, (locale, languageId) =>
            {
                locale.Salutations = addressSettings.GetLocalizedSetting(x => x.Salutations, languageId, storeScope, false, false);
            });

            return(View(model));
        }
Пример #4
0
        public async Task <IActionResult> CustomerUser(
            CustomerUserSettingsModel model,
            int storeScope,
            CustomerSettings customerSettings,
            AddressSettings addressSettings,
            PrivacySettings privacySettings)
        {
            var ignoreKey = $"{nameof(model.CustomerSettings)}.{nameof(model.CustomerSettings.RegisterCustomerRoleId)}";

            foreach (var key in ModelState.Keys.Where(x => x.EqualsNoCase(ignoreKey)))
            {
                ModelState[key].Errors.Clear();
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            ModelState.Clear();

            await MapperFactory.MapAsync(model.CustomerSettings, customerSettings);

            await MapperFactory.MapAsync(model.AddressSettings, addressSettings);

            await MapperFactory.MapAsync(model.PrivacySettings, privacySettings);

            foreach (var localized in model.Locales)
            {
                await _localizedEntityService.ApplyLocalizedSettingAsync(addressSettings, x => x.Salutations, localized.Salutations, localized.LanguageId, storeScope);
            }

            await _db.SaveChangesAsync();

            return(NotifyAndRedirect("CustomerUser"));
        }