public Task <RegisterViewModel> PrepareRegisterModel(RegisterViewModel model, bool excludeProperties) { if (model == null) { throw new ArgumentNullException(nameof(model)); } model.AllowUsersToSetTimeZone = _dateTimeSettings.AllowUsersToSetTimeZone; foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (excludeProperties ? tzi.Id == model.TimeZoneId : tzi.Id == _dateTimeHelper.CurrentTimeZone.Id) }); } //form fields model.GenderEnabled = _userSettings.GenderEnabled; model.DateOfBirthEnabled = _userSettings.DateOfBirthEnabled; model.DateOfBirthRequired = _userSettings.DateOfBirthRequired; model.PhoneEnabled = _userSettings.PhoneEnabled; model.PhoneRequired = _userSettings.PhoneRequired; model.UsernamesEnabled = _userSettings.UsernamesEnabled; model.CheckUsernameAvailabilityEnabled = _userSettings.CheckUsernameAvailabilityEnabled; return(Task.FromResult(model)); }
public void Can_get_all_systemTimeZones() { var systemTimeZones = _dateTimeHelper.GetSystemTimeZones(); Assert.IsNotNull(systemTimeZones); Assert.IsTrue(systemTimeZones.Count > 0); }
private async Task PrepareRegisterModelAsync(RegisterModel model) { model.AllowCustomersToSetTimeZone = _dateTimeSettings.AllowCustomersToSetTimeZone; model.DisplayVatNumber = _taxSettings.EuVatEnabled; model.VatRequired = _taxSettings.VatRequired; MiniMapper.Map(_customerSettings, model); model.UsernamesEnabled = _customerSettings.CustomerLoginType != CustomerLoginType.Email; model.CheckUsernameAvailabilityEnabled = _customerSettings.CheckUsernameAvailabilityEnabled; model.DisplayCaptcha = _captchaSettings.CanDisplayCaptcha && _captchaSettings.ShowOnRegistrationPage; ViewBag.AvailableTimeZones = new List <SelectListItem>(); foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { ViewBag.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (tzi.Id == _dateTimeHelper.DefaultStoreTimeZone.Id) }); } if (_customerSettings.CountryEnabled) { await AddCountriesAndStatesToViewBagAsync(model.CountryId, _customerSettings.StateProvinceEnabled, model.StateProvinceId ?? 0); } }
public void CanGetAllSystemTimeZones() { var systemTimeZones = _dateTimeHelper.GetSystemTimeZones(); systemTimeZones.Should().NotBeNull(); systemTimeZones.Any().Should().BeTrue(); }
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)); }
public void Can_get_all_systemTimeZones() { var systemTimeZones = _dateTimeHelper.GetSystemTimeZones(); systemTimeZones.ShouldNotBeNull(); (systemTimeZones.Count > 0).ShouldBeTrue(); }
public async Task <CustomerInfoModel> Handle(GetInfo request, CancellationToken cancellationToken) { var model = new CustomerInfoModel(); if (request.Model != null) { model = request.Model; } model.AllowCustomersToSetTimeZone = _dateTimeSettings.AllowCustomersToSetTimeZone; if (model.AllowCustomersToSetTimeZone) { foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (request.ExcludeProperties ? tzi.Id == model.TimeZoneId : tzi.Id == _dateTimeHelper.CurrentTimeZone.Id) }); } } if (!request.ExcludeProperties) { PrepareNotExludeModel(model, request); } else { if (_customerSettings.UsernamesEnabled && !_customerSettings.AllowUsersToChangeUsernames) { model.Username = request.Customer.Username; } } //newsletter await PrepareNewsletter(model, request); //settings await PrepareModelSettings(model, request); //external authentication await PrepareExternalAuth(model, request); //custom customer attributes var customAttributes = await _mediator.Send(new GetCustomAttributes() { Customer = request.Customer, Language = request.Language, OverrideAttributesXml = request.OverrideCustomCustomerAttributesXml }); foreach (var attribute in customAttributes) { model.CustomerAttributes.Add(attribute); } return(model); }
/// <summary> /// Prepare available time zones /// </summary> /// <param name="items">Time zone items</param> /// <param name="withSpecialDefaultItem">Whether to insert the first special item for the default value</param> /// <param name="defaultItemText">Default item text; pass null to use default value of the default item text</param> public virtual void PrepareTimeZones(IList <SelectListItem> items, bool withSpecialDefaultItem = true, string defaultItemText = null) { if (items == null) { throw new ArgumentNullException(nameof(items)); } //prepare available time zones var availableTimeZones = _dateTimeHelper.GetSystemTimeZones(); foreach (var timeZone in availableTimeZones) { items.Add(new SelectListItem { Value = timeZone.Id, Text = timeZone.DisplayName }); } //insert special item for the default value PrepareDefaultItem(items, withSpecialDefaultItem, defaultItemText); }
public Task PrepareTimeZones(IList <SelectListItem> items, bool withSpecialDefaultItem = true, string defaultItemText = null) { if (items == null) { throw new ArgumentNullException(nameof(items)); } var availableTimeZones = _dateTimeHelper.GetSystemTimeZones(); foreach (var timeZone in availableTimeZones) { items.Add(new SelectListItem { Value = timeZone.Id, Text = timeZone.DisplayName }); } PrepareDefaultItem(items, withSpecialDefaultItem, defaultItemText); return(Task.CompletedTask); }
public virtual CustomerInfoModel PrepareCustomerInfoModel(CustomerInfoModel model, Customer customer, bool excludeProperties, string overrideCustomCustomerAttributesXml = "") { if (model == null) { throw new ArgumentNullException("model"); } if (customer == null) { throw new ArgumentNullException("customer"); } model.AllowCustomersToSetTimeZone = _dateTimeSettings.AllowCustomersToSetTimeZone; foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (excludeProperties ? tzi.Id == model.TimeZoneId : tzi.Id == _dateTimeHelper.CurrentTimeZone.Id) }); } if (!excludeProperties) { model.VatNumber = customer.GetAttribute <string>(SystemCustomerAttributeNames.VatNumber); model.FirstName = customer.GetAttribute <string>(SystemCustomerAttributeNames.FirstName); model.LastName = customer.GetAttribute <string>(SystemCustomerAttributeNames.LastName); model.Gender = customer.GetAttribute <string>(SystemCustomerAttributeNames.Gender); var dateOfBirth = customer.GetAttribute <DateTime?>(SystemCustomerAttributeNames.DateOfBirth); if (dateOfBirth.HasValue) { model.DateOfBirthDay = dateOfBirth.Value.Day; model.DateOfBirthMonth = dateOfBirth.Value.Month; model.DateOfBirthYear = dateOfBirth.Value.Year; } model.Company = customer.GetAttribute <string>(SystemCustomerAttributeNames.Company); model.StreetAddress = customer.GetAttribute <string>(SystemCustomerAttributeNames.StreetAddress); model.StreetAddress2 = customer.GetAttribute <string>(SystemCustomerAttributeNames.StreetAddress2); model.ZipPostalCode = customer.GetAttribute <string>(SystemCustomerAttributeNames.ZipPostalCode); model.City = customer.GetAttribute <string>(SystemCustomerAttributeNames.City); model.CountryId = customer.GetAttribute <int>(SystemCustomerAttributeNames.CountryId); model.StateProvinceId = customer.GetAttribute <int>(SystemCustomerAttributeNames.StateProvinceId); model.Phone = customer.GetAttribute <string>(SystemCustomerAttributeNames.Phone); model.Fax = customer.GetAttribute <string>(SystemCustomerAttributeNames.Fax); //newsletter var newsletter = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmailAndStoreId(customer.Email, _storeContext.CurrentStore.Id); model.Newsletter = newsletter != null && newsletter.Active; model.Signature = customer.GetAttribute <string>(SystemCustomerAttributeNames.Signature); model.Email = customer.Email; model.Username = customer.Username; } else { if (_customerSettings.UsernamesEnabled && !_customerSettings.AllowUsersToChangeUsernames) { model.Username = customer.Username; } } if (_customerSettings.UserRegistrationType == UserRegistrationType.EmailValidation) { model.EmailToRevalidate = customer.EmailToRevalidate; } //countries and states if (_customerSettings.CountryEnabled) { model.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(_workContext.WorkingLanguage.Id)) { model.AvailableCountries.Add(new SelectListItem { Text = c.GetLocalized(x => x.Name), Value = c.Id.ToString(), Selected = c.Id == model.CountryId }); } if (_customerSettings.StateProvinceEnabled) { //states var states = _stateProvinceService.GetStateProvincesByCountryId(model.CountryId, _workContext.WorkingLanguage.Id).ToList(); if (states.Any()) { model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Address.SelectState"), Value = "0" }); foreach (var s in states) { model.AvailableStates.Add(new SelectListItem { Text = s.GetLocalized(x => x.Name), Value = s.Id.ToString(), Selected = (s.Id == model.StateProvinceId) }); } } else { bool anyCountrySelected = model.AvailableCountries.Any(x => x.Selected); model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource(anyCountrySelected ? "Address.OtherNonUS" : "Address.SelectState"), Value = "0" }); } } } model.DisplayVatNumber = _taxSettings.EuVatEnabled; model.VatNumberStatusNote = ((VatNumberStatus)customer.GetAttribute <int>(SystemCustomerAttributeNames.VatNumberStatusId)) .GetLocalizedEnum(_localizationService, _workContext); model.GenderEnabled = _customerSettings.GenderEnabled; model.DateOfBirthEnabled = _customerSettings.DateOfBirthEnabled; model.DateOfBirthRequired = _customerSettings.DateOfBirthRequired; model.CompanyEnabled = _customerSettings.CompanyEnabled; model.CompanyRequired = _customerSettings.CompanyRequired; model.StreetAddressEnabled = _customerSettings.StreetAddressEnabled; model.StreetAddressRequired = _customerSettings.StreetAddressRequired; model.StreetAddress2Enabled = _customerSettings.StreetAddress2Enabled; model.StreetAddress2Required = _customerSettings.StreetAddress2Required; model.ZipPostalCodeEnabled = _customerSettings.ZipPostalCodeEnabled; model.ZipPostalCodeRequired = _customerSettings.ZipPostalCodeRequired; model.CityEnabled = _customerSettings.CityEnabled; model.CityRequired = _customerSettings.CityRequired; model.CountryEnabled = _customerSettings.CountryEnabled; model.CountryRequired = _customerSettings.CountryRequired; model.StateProvinceEnabled = _customerSettings.StateProvinceEnabled; model.StateProvinceRequired = _customerSettings.StateProvinceRequired; model.PhoneEnabled = _customerSettings.PhoneEnabled; model.PhoneRequired = _customerSettings.PhoneRequired; model.FaxEnabled = _customerSettings.FaxEnabled; model.FaxRequired = _customerSettings.FaxRequired; model.NewsletterEnabled = _customerSettings.NewsletterEnabled; model.UsernamesEnabled = _customerSettings.UsernamesEnabled; model.AllowUsersToChangeUsernames = _customerSettings.AllowUsersToChangeUsernames; model.CheckUsernameAvailabilityEnabled = _customerSettings.CheckUsernameAvailabilityEnabled; model.SignatureEnabled = _forumSettings.ForumsEnabled && _forumSettings.SignaturesEnabled; //external authentication model.NumberOfExternalAuthenticationProviders = _openAuthenticationService .LoadActiveExternalAuthenticationMethods(_workContext.CurrentCustomer, _storeContext.CurrentStore.Id).Count; foreach (var ear in _openAuthenticationService.GetExternalIdentifiersFor(customer)) { var authMethod = _openAuthenticationService.LoadExternalAuthenticationMethodBySystemName(ear.ProviderSystemName); if (authMethod == null || !authMethod.IsMethodActive(_externalAuthenticationSettings)) { continue; } model.AssociatedExternalAuthRecords.Add(new CustomerInfoModel.AssociatedExternalAuthModel { Id = ear.Id, Email = ear.Email, ExternalIdentifier = ear.ExternalIdentifier, AuthMethodName = authMethod.GetLocalizedFriendlyName(_localizationService, _workContext.WorkingLanguage.Id) }); } //custom customer attributes var customAttributes = PrepareCustomCustomerAttributes(customer, overrideCustomCustomerAttributesXml); customAttributes.ForEach(model.CustomerAttributes.Add); return(model); }
/// <summary> /// Prepare the customer info model /// </summary> /// <param name="model">Customer info model</param> /// <param name="customer">Customer</param> /// <param name="excludeProperties">Whether to exclude populating of model properties from the entity</param> /// <param name="overrideCustomCustomerAttributesXml">Overridden customer attributes in XML format; pass null to use CustomCustomerAttributes of customer</param> /// <returns>Customer info model</returns> public virtual CustomerInfoModel PrepareCustomerInfoModel(CustomerInfoModel model, Customer customer, bool excludeProperties, string overrideCustomCustomerAttributesXml = "") { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (customer == null) { throw new ArgumentNullException(nameof(customer)); } model.AllowCustomersToSetTimeZone = _dateTimeSettings.AllowCustomersToSetTimeZone; foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (excludeProperties ? tzi.Id == model.TimeZoneId : tzi.Id == _dateTimeHelper.CurrentTimeZone.Id) }); } if (!excludeProperties) { model.VatNumber = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.VatNumberAttribute); model.FirstName = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.FirstNameAttribute); model.LastName = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.LastNameAttribute); model.Gender = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.GenderAttribute); var dateOfBirth = _genericAttributeService.GetAttribute <DateTime?>(customer, NopCustomerDefaults.DateOfBirthAttribute); if (dateOfBirth.HasValue) { model.DateOfBirthDay = dateOfBirth.Value.Day; model.DateOfBirthMonth = dateOfBirth.Value.Month; model.DateOfBirthYear = dateOfBirth.Value.Year; } model.Company = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.CompanyAttribute); model.StreetAddress = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.StreetAddressAttribute); model.StreetAddress2 = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.StreetAddress2Attribute); model.ZipPostalCode = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.ZipPostalCodeAttribute); model.City = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.CityAttribute); model.County = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.CountyAttribute); model.CountryId = _genericAttributeService.GetAttribute <int>(customer, NopCustomerDefaults.CountryIdAttribute); model.StateProvinceId = _genericAttributeService.GetAttribute <int>(customer, NopCustomerDefaults.StateProvinceIdAttribute); model.Phone = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.PhoneAttribute); model.Fax = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.FaxAttribute); //newsletter var newsletter = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmailAndStoreId(customer.Email, _storeContext.CurrentStore.Id); model.Newsletter = newsletter != null && newsletter.Active; model.Signature = _genericAttributeService.GetAttribute <string>(customer, NopCustomerDefaults.SignatureAttribute); model.Email = customer.Email; model.Username = customer.Username; } else { if (_customerSettings.UsernamesEnabled && !_customerSettings.AllowUsersToChangeUsernames) { model.Username = customer.Username; } } if (_customerSettings.UserRegistrationType == UserRegistrationType.EmailValidation) { model.EmailToRevalidate = customer.EmailToRevalidate; } //countries and states if (_customerSettings.CountryEnabled) { model.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(_workContext.WorkingLanguage.Id)) { model.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetLocalized(c, x => x.Name), Value = c.Id.ToString(), Selected = c.Id == model.CountryId }); } if (_customerSettings.StateProvinceEnabled) { //states var states = _stateProvinceService.GetStateProvincesByCountryId(model.CountryId, _workContext.WorkingLanguage.Id).ToList(); if (states.Any()) { model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Address.SelectState"), Value = "0" }); foreach (var s in states) { model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetLocalized(s, x => x.Name), Value = s.Id.ToString(), Selected = (s.Id == model.StateProvinceId) }); } } else { var anyCountrySelected = model.AvailableCountries.Any(x => x.Selected); model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource(anyCountrySelected ? "Address.OtherNonUS" : "Address.SelectState"), Value = "0" }); } } } model.DisplayVatNumber = _taxSettings.EuVatEnabled; model.VatNumberStatusNote = _localizationService.GetLocalizedEnum((VatNumberStatus)_genericAttributeService .GetAttribute <int>(customer, NopCustomerDefaults.VatNumberStatusIdAttribute)); model.GenderEnabled = _customerSettings.GenderEnabled; model.DateOfBirthEnabled = _customerSettings.DateOfBirthEnabled; model.DateOfBirthRequired = _customerSettings.DateOfBirthRequired; model.CompanyEnabled = _customerSettings.CompanyEnabled; model.CompanyRequired = _customerSettings.CompanyRequired; model.StreetAddressEnabled = _customerSettings.StreetAddressEnabled; model.StreetAddressRequired = _customerSettings.StreetAddressRequired; model.StreetAddress2Enabled = _customerSettings.StreetAddress2Enabled; model.StreetAddress2Required = _customerSettings.StreetAddress2Required; model.ZipPostalCodeEnabled = _customerSettings.ZipPostalCodeEnabled; model.ZipPostalCodeRequired = _customerSettings.ZipPostalCodeRequired; model.CityEnabled = _customerSettings.CityEnabled; model.CityRequired = _customerSettings.CityRequired; model.CountyEnabled = _customerSettings.CountyEnabled; model.CountyRequired = _customerSettings.CountyRequired; model.CountryEnabled = _customerSettings.CountryEnabled; model.CountryRequired = _customerSettings.CountryRequired; model.StateProvinceEnabled = _customerSettings.StateProvinceEnabled; model.StateProvinceRequired = _customerSettings.StateProvinceRequired; model.PhoneEnabled = _customerSettings.PhoneEnabled; model.PhoneRequired = _customerSettings.PhoneRequired; model.FaxEnabled = _customerSettings.FaxEnabled; model.FaxRequired = _customerSettings.FaxRequired; model.NewsletterEnabled = _customerSettings.NewsletterEnabled; model.UsernamesEnabled = _customerSettings.UsernamesEnabled; model.AllowUsersToChangeUsernames = _customerSettings.AllowUsersToChangeUsernames; model.CheckUsernameAvailabilityEnabled = _customerSettings.CheckUsernameAvailabilityEnabled; model.SignatureEnabled = _forumSettings.ForumsEnabled && _forumSettings.SignaturesEnabled; //external authentication model.AllowCustomersToRemoveAssociations = _externalAuthenticationSettings.AllowCustomersToRemoveAssociations; model.NumberOfExternalAuthenticationProviders = _authenticationPluginManager .LoadActivePlugins(_workContext.CurrentCustomer, _storeContext.CurrentStore.Id) .Count; foreach (var record in customer.ExternalAuthenticationRecords) { var authMethod = _authenticationPluginManager.LoadPluginBySystemName(record.ProviderSystemName); if (!_authenticationPluginManager.IsPluginActive(authMethod)) { continue; } model.AssociatedExternalAuthRecords.Add(new CustomerInfoModel.AssociatedExternalAuthModel { Id = record.Id, Email = record.Email, ExternalIdentifier = !string.IsNullOrEmpty(record.ExternalDisplayIdentifier) ? record.ExternalDisplayIdentifier : record.ExternalIdentifier, AuthMethodName = _localizationService.GetLocalizedFriendlyName(authMethod, _workContext.WorkingLanguage.Id) }); } //custom customer attributes var customAttributes = PrepareCustomCustomerAttributes(customer, overrideCustomCustomerAttributesXml); foreach (var attribute in customAttributes) { model.CustomerAttributes.Add(attribute); } //GDPR if (_gdprSettings.GdprEnabled) { var consents = _gdprService.GetAllConsents().Where(consent => consent.DisplayOnCustomerInfoPage).ToList(); foreach (var consent in consents) { var accepted = _gdprService.IsConsentAccepted(consent.Id, _workContext.CurrentCustomer.Id); model.GdprConsents.Add(PrepareGdprConsentModel(consent, accepted.HasValue && accepted.Value)); } } return(model); }
private async Task PrepareConfigurationModelAsync(GeneralCommonSettingsModel model) { 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) }); } #region CompanyInfo custom mapping ViewBag.AvailableCountries = new List <SelectListItem> { new SelectListItem { Text = T("Common.Unspecified"), Value = "0" } }; ViewBag.Salutations = new List <SelectListItem>(); var countries = await _db.Countries .AsNoTracking() .ApplyStandardFilter() .ToListAsync(); foreach (var c in countries) { ViewBag.AvailableCountries.Add(new SelectListItem { Text = c.GetLocalized(x => x.Name), Value = c.Id.ToString(), Selected = c.Id == model.CompanyInformationSettings.CountryId }); } ViewBag.Salutations = new List <SelectListItem>(); ViewBag.Salutations.AddRange(new[] { ResToSelectListItem("Admin.Address.Salutation.Mr"), ResToSelectListItem("Admin.Address.Salutation.Mrs") }); var resRoot = "Admin.Configuration.Settings.GeneralCommon.CompanyInformationSettings.ManagementDescriptions."; ViewBag.ManagementDescriptions = new List <SelectListItem>(); ViewBag.ManagementDescriptions.AddRange(new[] { ResToSelectListItem(resRoot + "Manager"), ResToSelectListItem(resRoot + "Shopkeeper"), ResToSelectListItem(resRoot + "Procurator"), ResToSelectListItem(resRoot + "Shareholder"), ResToSelectListItem(resRoot + "AuthorizedPartner"), ResToSelectListItem(resRoot + "Director"), ResToSelectListItem(resRoot + "ManagingPartner") }); ViewBag.AvailableMetaContentValues = new List <SelectListItem> { new SelectListItem { Text = "index", Value = "index" }, new SelectListItem { Text = "noindex", Value = "noindex" }, new SelectListItem { Text = "index, follow", Value = "index, follow" }, new SelectListItem { Text = "index, nofollow", Value = "index, nofollow" }, new SelectListItem { Text = "noindex, follow", Value = "noindex, follow" }, new SelectListItem { Text = "noindex, nofollow", Value = "noindex, nofollow" } }; #endregion }
public async Task <RegisterModel> Handle(GetRegister request, CancellationToken cancellationToken) { var model = new RegisterModel(); if (request.Model != null) { model = request.Model; } else { //enable newsletter by default model.Newsletter = _customerSettings.NewsletterTickedByDefault; } model.AllowCustomersToSetTimeZone = _dateTimeSettings.AllowCustomersToSetTimeZone; if (model.AllowCustomersToSetTimeZone) { foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (request.ExcludeProperties ? tzi.Id == model.TimeZoneId : tzi.Id == _dateTimeHelper.CurrentTimeZone.Id) }); } } model.DisplayVatNumber = _taxSettings.EuVatEnabled; //form fields model.GenderEnabled = _customerSettings.GenderEnabled; model.DateOfBirthEnabled = _customerSettings.DateOfBirthEnabled; model.DateOfBirthRequired = _customerSettings.DateOfBirthRequired; model.CompanyEnabled = _customerSettings.CompanyEnabled; model.CompanyRequired = _customerSettings.CompanyRequired; model.StreetAddressEnabled = _customerSettings.StreetAddressEnabled; model.StreetAddressRequired = _customerSettings.StreetAddressRequired; model.StreetAddress2Enabled = _customerSettings.StreetAddress2Enabled; model.StreetAddress2Required = _customerSettings.StreetAddress2Required; model.ZipPostalCodeEnabled = _customerSettings.ZipPostalCodeEnabled; model.ZipPostalCodeRequired = _customerSettings.ZipPostalCodeRequired; model.CityEnabled = _customerSettings.CityEnabled; model.CityRequired = _customerSettings.CityRequired; model.CountryEnabled = _customerSettings.CountryEnabled; model.CountryRequired = _customerSettings.CountryRequired; model.StateProvinceEnabled = _customerSettings.StateProvinceEnabled; model.StateProvinceRequired = _customerSettings.StateProvinceRequired; model.PhoneEnabled = _customerSettings.PhoneEnabled; model.PhoneRequired = _customerSettings.PhoneRequired; model.FaxEnabled = _customerSettings.FaxEnabled; model.FaxRequired = _customerSettings.FaxRequired; model.NewsletterEnabled = _customerSettings.NewsletterEnabled; model.AcceptPrivacyPolicyEnabled = _customerSettings.AcceptPrivacyPolicyEnabled; model.UsernamesEnabled = _customerSettings.UsernamesEnabled; model.CheckUsernameAvailabilityEnabled = _customerSettings.CheckUsernameAvailabilityEnabled; model.HoneypotEnabled = _securitySettings.HoneypotEnabled; model.DisplayCaptcha = _captchaSettings.Enabled && _captchaSettings.ShowOnRegistrationPage; //countries and states if (_customerSettings.CountryEnabled) { model.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Address.SelectCountry"), Value = "" }); foreach (var c in await _countryService.GetAllCountries(request.Language.Id)) { model.AvailableCountries.Add(new SelectListItem { Text = c.GetLocalized(x => x.Name, request.Language.Id), Value = c.Id.ToString(), Selected = c.Id == model.CountryId }); } if (_customerSettings.StateProvinceEnabled) { //states var states = await _stateProvinceService.GetStateProvincesByCountryId(model.CountryId, request.Language.Id); if (states.Any()) { model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Address.SelectState"), Value = "" }); foreach (var s in states) { model.AvailableStates.Add(new SelectListItem { Text = s.GetLocalized(x => x.Name, request.Language.Id), Value = s.Id.ToString(), Selected = (s.Id == model.StateProvinceId) }); } } else { bool anyCountrySelected = model.AvailableCountries.Any(x => x.Selected); model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource(anyCountrySelected ? "Address.OtherNonUS" : "Address.SelectState"), Value = "" }); } } } //custom customer attributes var customAttributes = await _mediator.Send(new GetCustomAttributes() { Customer = request.Customer, Language = request.Language, OverrideAttributesXml = request.OverrideCustomCustomerAttributesXml }); foreach (var item in customAttributes) { model.CustomerAttributes.Add(item); } //newsletter categories var newsletterCategories = await _newsletterCategoryService.GetNewsletterCategoriesByStore(request.Store.Id); foreach (var item in newsletterCategories) { model.NewsletterCategories.Add(new NewsletterSimpleCategory() { Id = item.Id, Name = item.GetLocalized(x => x.Name, request.Language.Id), Description = item.GetLocalized(x => x.Description, request.Language.Id), Selected = item.Selected }); } return(model); }
protected override void InjectModelDependencies(EditableDateTimeSettingsModel editableDateTimeSettingsModel) { editableDateTimeSettingsModel.AvailableTimeZones = _dateTimeHelper.GetSystemTimeZones().ToSelectList(tzi => tzi.Id, tzi => tzi.DisplayName, editableDateTimeSettingsModel.DefaultTimeZoneId); }
/// <summary> /// Prepare the customer info model /// </summary> /// <param name="model">Customer info model</param> /// <param name="customer">Customer</param> /// <param name="excludeProperties">Whether to exclude populating of model properties from the entity</param> /// <param name="overrideCustomCustomerAttributesXml">Overridden customer attributes in XML format; pass null to use CustomCustomerAttributes of customer</param> /// <returns>Customer info model</returns> public virtual UserInfoModel PrepareCustomerInfoModel(UserInfoModel model, User customer, bool excludeProperties, string overrideCustomCustomerAttributesXml = "") { if (model == null) { throw new ArgumentNullException("model"); } if (customer == null) { throw new ArgumentNullException("customer"); } model.AllowCustomersToSetTimeZone = _dateTimeSettings.AllowCustomersToSetTimeZone; foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (excludeProperties ? tzi.Id == model.TimeZoneId : tzi.Id == _dateTimeHelper.CurrentTimeZone.Id) }); } if (!excludeProperties) { model.VatNumber = customer.GetAttribute <string>(SystemUserAttributeNames.VatNumber); model.FirstName = customer.GetAttribute <string>(SystemUserAttributeNames.FirstName); model.LastName = customer.GetAttribute <string>(SystemUserAttributeNames.LastName); model.Gender = customer.GetAttribute <string>(SystemUserAttributeNames.Gender); var dateOfBirth = customer.GetAttribute <DateTime?>(SystemUserAttributeNames.DateOfBirth); if (dateOfBirth.HasValue) { model.DateOfBirthDay = dateOfBirth.Value.Day; model.DateOfBirthMonth = dateOfBirth.Value.Month; model.DateOfBirthYear = dateOfBirth.Value.Year; } model.Company = customer.GetAttribute <string>(SystemUserAttributeNames.Company); model.StreetAddress = customer.GetAttribute <string>(SystemUserAttributeNames.StreetAddress); model.StreetAddress2 = customer.GetAttribute <string>(SystemUserAttributeNames.StreetAddress2); model.ZipPostalCode = customer.GetAttribute <string>(SystemUserAttributeNames.ZipPostalCode); model.City = customer.GetAttribute <string>(SystemUserAttributeNames.City); model.CountryId = customer.GetAttribute <int>(SystemUserAttributeNames.CountryId); model.StateProvinceId = customer.GetAttribute <int>(SystemUserAttributeNames.StateProvinceId); model.Phone = customer.GetAttribute <string>(SystemUserAttributeNames.Phone); model.Fax = customer.GetAttribute <string>(SystemUserAttributeNames.Fax); //newsletter model.Signature = customer.GetAttribute <string>(SystemUserAttributeNames.Signature); model.Email = customer.Email; model.Username = customer.Username; } else { if (_customerSettings.UsernamesEnabled && !_customerSettings.AllowUsersToChangeUsernames) { model.Username = customer.Username; } } if (_customerSettings.UserRegistrationType == UserRegistrationType.EmailValidation) { model.EmailToRevalidate = customer.EmailToRevalidate; } model.GenderEnabled = _customerSettings.GenderEnabled; model.DateOfBirthEnabled = _customerSettings.DateOfBirthEnabled; model.DateOfBirthRequired = _customerSettings.DateOfBirthRequired; model.CompanyEnabled = _customerSettings.CompanyEnabled; model.CompanyRequired = _customerSettings.CompanyRequired; model.StreetAddressEnabled = _customerSettings.StreetAddressEnabled; model.StreetAddressRequired = _customerSettings.StreetAddressRequired; model.StreetAddress2Enabled = _customerSettings.StreetAddress2Enabled; model.StreetAddress2Required = _customerSettings.StreetAddress2Required; model.ZipPostalCodeEnabled = _customerSettings.ZipPostalCodeEnabled; model.ZipPostalCodeRequired = _customerSettings.ZipPostalCodeRequired; model.CityEnabled = _customerSettings.CityEnabled; model.CityRequired = _customerSettings.CityRequired; model.CountryEnabled = _customerSettings.CountryEnabled; model.CountryRequired = _customerSettings.CountryRequired; model.StateProvinceEnabled = _customerSettings.StateProvinceEnabled; model.StateProvinceRequired = _customerSettings.StateProvinceRequired; model.PhoneEnabled = _customerSettings.PhoneEnabled; model.PhoneRequired = _customerSettings.PhoneRequired; model.FaxEnabled = _customerSettings.FaxEnabled; model.FaxRequired = _customerSettings.FaxRequired; model.NewsletterEnabled = _customerSettings.NewsletterEnabled; model.UsernamesEnabled = _customerSettings.UsernamesEnabled; model.AllowUsersToChangeUsernames = _customerSettings.AllowUsersToChangeUsernames; model.CheckUsernameAvailabilityEnabled = _customerSettings.CheckUsernameAvailabilityEnabled; //external authentication model.NumberOfExternalAuthenticationProviders = _openAuthenticationService .LoadActiveExternalAuthenticationMethods(_workContext.CurrentUser, 0).Count; foreach (var ear in _openAuthenticationService.GetExternalIdentifiersFor(customer)) { var authMethod = _openAuthenticationService.LoadExternalAuthenticationMethodBySystemName(ear.ProviderSystemName); if (authMethod == null || !authMethod.IsMethodActive(_externalAuthenticationSettings)) { continue; } model.AssociatedExternalAuthRecords.Add(new UserInfoModel.AssociatedExternalAuthModel { Id = ear.Id, Email = ear.Email, ExternalIdentifier = ear.ExternalIdentifier, AuthMethodName = authMethod.GetLocalizedFriendlyName(_localizationService, _workContext.WorkingLanguage.Id) }); } //custom customer attributes var customAttributes = PrepareCustomCustomerAttributes(customer, overrideCustomCustomerAttributesXml); customAttributes.ForEach(model.CustomerAttributes.Add); return(model); }
protected virtual void PrepareCustomerModel(CustomerModel model, Customer customer, bool excludeProperties) { if (customer != null) { model.Id = customer.Id; if (!excludeProperties) { model.Email = customer.Email; model.Username = customer.Username; model.AdminComment = customer.AdminComment; model.Active = customer.Active; model.TimeZoneId = customer.GetAttribute <string>(SystemCustomerAttributeNames.TimeZoneId); model.CreatedOn = _dateTimeHelper.ConvertToUserTime(customer.CreatedOnUtc, DateTimeKind.Utc); model.LastActivityDate = _dateTimeHelper.ConvertToUserTime(customer.LastActivityDateUtc, DateTimeKind.Utc); model.LastIpAddress = customer.LastIpAddress; model.LastVisitedPage = customer.GetAttribute <string>(SystemCustomerAttributeNames.LastVisitedPage); model.SelectedCustomerRoleIds = customer.CustomerRoles.Select(cr => cr.Id).ToList(); model.Name = customer.GetAttribute <string>(SystemCustomerAttributeNames.Name); model.Gender = customer.GetAttribute <string>(SystemCustomerAttributeNames.Gender); model.DateOfBirth = customer.GetAttribute <DateTime?>(SystemCustomerAttributeNames.DateOfBirth); model.Company = customer.GetAttribute <string>(SystemCustomerAttributeNames.Company); model.Phone = customer.GetAttribute <string>(SystemCustomerAttributeNames.Phone); } } model.AllowCustomersToSetTimeZone = _dateTimeSettings.AllowCustomersToSetTimeZone; foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (tzi.Id == model.TimeZoneId) }); } model.GenderEnabled = _customerSettings.GenderEnabled; model.DateOfBirthEnabled = _customerSettings.DateOfBirthEnabled; model.CompanyEnabled = _customerSettings.CompanyEnabled; model.PhoneEnabled = _customerSettings.PhoneEnabled; //用户权限模块 var allRoles = _customerService.GetAllCustomerRoles(true); var customerRole = allRoles.FirstOrDefault(c => c.SystemName == SystemCustomerRoleNames.Registered); if (customer == null && customerRole != null) { model.SelectedCustomerRoleIds.Add(customerRole.Id); } foreach (var role in allRoles) { model.AvailableCustomerRoles.Add(new SelectListItem { Text = role.Name, Value = role.Id.ToString(), Selected = model.SelectedCustomerRoleIds.Contains(role.Id) }); } //外部站点授权记录 }
/// <summary> /// Prepare the customer info model /// </summary> /// <param name="model">Customer info model</param> /// <param name="customer">Customer</param> /// <param name="excludeProperties">Whether to exclude populating of model properties from the entity</param> /// <param name="overrideCustomCustomerAttributesXml">Overridden customer attributes in XML format; pass null to use CustomCustomerAttributes of customer</param> /// <returns>Customer info model</returns> public virtual CustomerInfoModel PrepareCustomerInfoModel(CustomerInfoModel model, Customer customer, bool excludeProperties, string overrideCustomCustomerAttributesXml = "") { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (customer == null) { throw new ArgumentNullException(nameof(customer)); } model.AllowCustomersToSetTimeZone = _dateTimeSettings.AllowCustomersToSetTimeZone; foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (excludeProperties ? tzi.Id == model.TimeZoneId : tzi.Id == _dateTimeHelper.CurrentTimeZone.Id) }); } if (_customerSettings.UsernamesEnabled && !_customerSettings.AllowUsersToChangeUsernames) { model.Username = customer.Username; } //if (_customerSettings.UserRegistrationType == UserRegistrationType.EmailValidation) // model.EmailToRevalidate = customer.EmailToRevalidate; //countries model.AvailableCountries.Add(new SelectListItem { Text = "Select Country", Value = "0" }); foreach (var c in _countryService.GetAllCountries(showHidden: true)) { model.AvailableCountries.Add(new SelectListItem { Text = c.Name, Value = c.Id.ToString(), Selected = c.Id == model.CountryId }); } //states var states = _stateProvinceService.GetStateProvincesByCountryId(model.CountryId).ToList(); if (states.Any()) { model.AvailableStates.Add(new SelectListItem { Text = "Select State", Value = null }); foreach (var s in states) { model.AvailableStates.Add(new SelectListItem { Text = s.Name, Value = s.Id.ToString(), Selected = (s.Id == model.StateProvinceId) }); } } else { var anyCountrySelected = model.AvailableCountries.Any(x => x.Selected); model.AvailableStates.Add(new SelectListItem { Text = "Select State", Value = null }); } //model.DisplayVatNumber = _taxSettings.EuVatEnabled; model.GenderEnabled = _customerSettings.GenderEnabled; model.DateOfBirthEnabled = _customerSettings.DateOfBirthEnabled; model.DateOfBirthRequired = _customerSettings.DateOfBirthRequired; model.CompanyEnabled = _customerSettings.CompanyEnabled; model.CompanyRequired = _customerSettings.CompanyRequired; model.StreetAddressEnabled = _customerSettings.StreetAddressEnabled; model.StreetAddressRequired = _customerSettings.StreetAddressRequired; model.StreetAddress2Enabled = _customerSettings.StreetAddress2Enabled; model.StreetAddress2Required = _customerSettings.StreetAddress2Required; model.ZipPostalCodeEnabled = _customerSettings.ZipPostalCodeEnabled; model.ZipPostalCodeRequired = _customerSettings.ZipPostalCodeRequired; model.CityEnabled = _customerSettings.CityEnabled; model.CityRequired = _customerSettings.CityRequired; model.CountryEnabled = _customerSettings.CountryEnabled; model.CountryRequired = _customerSettings.CountryRequired; model.StateProvinceEnabled = _customerSettings.StateProvinceEnabled; model.StateProvinceRequired = _customerSettings.StateProvinceRequired; model.PhoneEnabled = _customerSettings.PhoneEnabled; model.PhoneRequired = _customerSettings.PhoneRequired; model.FaxEnabled = _customerSettings.FaxEnabled; model.FaxRequired = _customerSettings.FaxRequired; model.NewsletterEnabled = _customerSettings.NewsletterEnabled; model.UsernamesEnabled = _customerSettings.UsernamesEnabled; model.AllowUsersToChangeUsernames = _customerSettings.AllowUsersToChangeUsernames; model.CheckUsernameAvailabilityEnabled = _customerSettings.CheckUsernameAvailabilityEnabled; return(model); }
/// <summary> /// Prepare the user info model /// </summary> /// <param name="model">User info model</param> /// <param name="user">User</param> /// <param name="excludeProperties">Whether to exclude populating of model properties from the entity</param> /// <param name="overrideCustomUserAttributesXml">Overridden user attributes in XML format; pass null to use CustomUserAttributes of user</param> /// <returns>User info model</returns> public virtual UserInfoModel PrepareUserInfoModel(UserInfoModel model, User user, bool excludeProperties, string overrideCustomUserAttributesXml = "") { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (user == null) { throw new ArgumentNullException(nameof(user)); } model.AllowUsersToSetTimeZone = _dateTimeSettings.AllowUsersToSetTimeZone; foreach (var tzi in _dateTimeHelper.GetSystemTimeZones()) { model.AvailableTimeZones.Add(new SelectListItem { Text = tzi.DisplayName, Value = tzi.Id, Selected = (excludeProperties ? tzi.Id == model.TimeZoneId : tzi.Id == _dateTimeHelper.CurrentTimeZone.Id) }); } if (!excludeProperties) { model.VatNumber = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.VatNumberAttribute); model.FirstName = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.FirstNameAttribute); model.LastName = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.LastNameAttribute); model.Gender = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.GenderAttribute); var dateOfBirth = _genericAttributeService.GetAttribute <DateTime?>(user, NopUserDefaults.DateOfBirthAttribute); if (dateOfBirth.HasValue) { model.DateOfBirthDay = dateOfBirth.Value.Day; model.DateOfBirthMonth = dateOfBirth.Value.Month; model.DateOfBirthYear = dateOfBirth.Value.Year; } model.Company = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.CompanyAttribute); model.StreetAddress = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.StreetAddressAttribute); model.StreetAddress2 = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.StreetAddress2Attribute); model.ZipPostalCode = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.ZipPostalCodeAttribute); model.City = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.CityAttribute); model.County = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.CountyAttribute); model.CountryId = _genericAttributeService.GetAttribute <int>(user, NopUserDefaults.CountryIdAttribute); model.StateProvinceId = _genericAttributeService.GetAttribute <int>(user, NopUserDefaults.StateProvinceIdAttribute); model.Phone = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.PhoneAttribute); model.Fax = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.FaxAttribute); model.Signature = _genericAttributeService.GetAttribute <string>(user, NopUserDefaults.SignatureAttribute); model.Email = user.Email; model.Username = user.Username; } else { if (_userSettings.UsernamesEnabled && !_userSettings.AllowUsersToChangeUsernames) { model.Username = user.Username; } } if (_userSettings.UserRegistrationType == UserRegistrationType.EmailValidation) { model.EmailToRevalidate = user.EmailToRevalidate; } //countries and states if (_userSettings.CountryEnabled) { model.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(_workContext.WorkingLanguage.Id)) { model.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetLocalized(c, x => x.Name), Value = c.Id.ToString(), Selected = c.Id == model.CountryId }); } if (_userSettings.StateProvinceEnabled) { //states var states = _stateProvinceService.GetStateProvincesByCountryId(model.CountryId, _workContext.WorkingLanguage.Id).ToList(); if (states.Any()) { model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Address.SelectState"), Value = "0" }); foreach (var s in states) { model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetLocalized(s, x => x.Name), Value = s.Id.ToString(), Selected = (s.Id == model.StateProvinceId) }); } } else { var anyCountrySelected = model.AvailableCountries.Any(x => x.Selected); model.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource(anyCountrySelected ? "Address.OtherNonUS" : "Address.SelectState"), Value = "0" }); } } } model.GenderEnabled = _userSettings.GenderEnabled; model.DateOfBirthEnabled = _userSettings.DateOfBirthEnabled; model.DateOfBirthRequired = _userSettings.DateOfBirthRequired; model.CompanyEnabled = _userSettings.CompanyEnabled; model.CompanyRequired = _userSettings.CompanyRequired; model.StreetAddressEnabled = _userSettings.StreetAddressEnabled; model.StreetAddressRequired = _userSettings.StreetAddressRequired; model.StreetAddress2Enabled = _userSettings.StreetAddress2Enabled; model.StreetAddress2Required = _userSettings.StreetAddress2Required; model.ZipPostalCodeEnabled = _userSettings.ZipPostalCodeEnabled; model.ZipPostalCodeRequired = _userSettings.ZipPostalCodeRequired; model.CityEnabled = _userSettings.CityEnabled; model.CityRequired = _userSettings.CityRequired; model.CountyEnabled = _userSettings.CountyEnabled; model.CountyRequired = _userSettings.CountyRequired; model.CountryEnabled = _userSettings.CountryEnabled; model.CountryRequired = _userSettings.CountryRequired; model.StateProvinceEnabled = _userSettings.StateProvinceEnabled; model.StateProvinceRequired = _userSettings.StateProvinceRequired; model.PhoneEnabled = _userSettings.PhoneEnabled; model.PhoneRequired = _userSettings.PhoneRequired; model.FaxEnabled = _userSettings.FaxEnabled; model.FaxRequired = _userSettings.FaxRequired; model.UsernamesEnabled = _userSettings.UsernamesEnabled; model.AllowUsersToChangeUsernames = _userSettings.AllowUsersToChangeUsernames; model.CheckUsernameAvailabilityEnabled = _userSettings.CheckUsernameAvailabilityEnabled; //external authentication model.AllowUsersToRemoveAssociations = _externalAuthenticationSettings.AllowUsersToRemoveAssociations; model.NumberOfExternalAuthenticationProviders = _externalAuthenticationService .LoadActiveExternalAuthenticationMethods(_workContext.CurrentUser).Count; //custom user attributes var customAttributes = PrepareCustomUserAttributes(user, overrideCustomUserAttributesXml); foreach (var attribute in customAttributes) { model.UserAttributes.Add(attribute); } return(model); }