public ActionResult CurrencySelector() { var availableCurrencies = _cacheManager.Get(string.Format(ModelCacheEventConsumer.AVAILABLE_CURRENCIES_MODEL_KEY, _workContext.WorkingLanguage.Id, _storeContext.CurrentStore.Id), () => { var result = _currencyService .GetAllCurrencies(storeId: _storeContext.CurrentStore.Id) .Select(x => { //currency char var currencySymbol = ""; if (!string.IsNullOrEmpty(x.DisplayLocale)) currencySymbol = new RegionInfo(x.DisplayLocale).CurrencySymbol; else currencySymbol = x.CurrencyCode; //model var currencyModel = new CurrencyModel() { Id = x.Id, Name = x.GetLocalized(y => y.Name), CurrencySymbol = currencySymbol }; return currencyModel; }) .ToList(); return result; }); var model = new CurrencySelectorModel() { CurrentCurrencyId = _workContext.WorkingCurrency.Id, AvailableCurrencies = availableCurrencies }; if (model.AvailableCurrencies.Count == 1) Content(""); return PartialView(model); }
//currency public static CurrencyModel ToModel(this Currency entity) { if (entity == null) return null; var model = new CurrencyModel() { Id = entity.Id, Name = entity.GetLocalized(x => x.Name), }; return model; }