Ejemplo n.º 1
0
        /// <summary>
        /// Prepare paged currency list model
        /// </summary>
        /// <param name="searchModel">Currency search model</param>
        /// <returns>Currency list model</returns>
        public virtual CurrencyListModel PrepareCurrencyListModel(CurrencySearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get currencies
            var currencies = _currencyService.GetAllCurrencies(showHidden: true, loadCacheableCopy: false).ToPagedList(searchModel);

            //prepare list model
            var model = new CurrencyListModel().PrepareToGrid(searchModel, currencies, () =>
            {
                return(currencies.Select(currency =>
                {
                    //fill in model values from the entity
                    var currencyModel = currency.ToModel <CurrencyModel>();

                    //fill in additional values (not existing in the entity)
                    currencyModel.IsPrimaryExchangeRateCurrency = currency.Id == _currencySettings.PrimaryExchangeRateCurrencyId;
                    currencyModel.IsPrimaryStoreCurrency = currency.Id == _currencySettings.PrimaryStoreCurrencyId;

                    return currencyModel;
                }));
            });

            return(model);
        }
Ejemplo n.º 2
0
        public IActionResult CurrenciesList(CurrencySearchModel searchModel)
        {
            var currencies = _currencyService.SearchCurrencies(out var totalResults, searchModel.SearchPhrase, searchModel.Current,
                                                               searchModel.RowCount);

            var currenciesModel = currencies.Select(_currencyModelFactory.Create).ToList();

            return(R.Success.With("currencies", currenciesModel)
                   .WithGridResponse(totalResults, searchModel.Current, searchModel.RowCount)
                   .Result);
        }
        public virtual IActionResult ListGrid(CurrencySearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCurrencies))
            {
                return(AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = _currencyModelFactory.PrepareCurrencyListModel(searchModel);

            return(Json(model));
        }
Ejemplo n.º 4
0
        public virtual async Task <IActionResult> ListGrid(CurrencySearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageCurrencies))
            {
                return(await AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = await _currencyModelFactory.PrepareCurrencyListModelAsync(searchModel);

            return(Json(model));
        }
        public virtual IActionResult List(CurrencySearchModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCurrencies))
            {
                return(AccessDeniedView());
            }

            _currencySettings.ActiveExchangeRateProviderSystemName = model.ExchangeRateProviderModel.ExchangeRateProvider;
            _currencySettings.AutoUpdateEnabled = model.ExchangeRateProviderModel.AutoUpdateEnabled;
            _settingService.SaveSetting(_currencySettings);

            return(RedirectToAction("List", "Currency"));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Prepare currency search model
        /// </summary>
        /// <param name="searchModel">Currency search model</param>
        /// <param name="prepareExchangeRates">Whether to prepare exchange rate models</param>
        /// <returns>Currency search model</returns>
        public virtual CurrencySearchModel PrepareCurrencySearchModel(CurrencySearchModel searchModel, bool prepareExchangeRates = false)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare exchange rate provider model
            PrepareExchangeRateProviderModel(searchModel.ExchangeRateProviderModel, prepareExchangeRates);

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
        public virtual IActionResult List(bool liveRates = false)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCurrencies))
            {
                return(AccessDeniedView());
            }

            var model = new CurrencySearchModel();

            try
            {
                //prepare model
                model = _currencyModelFactory.PrepareCurrencySearchModel(new CurrencySearchModel(), liveRates);
            }
            catch (Exception e)
            {
                _notificationService.ErrorNotification(e);
            }

            return(View(model));
        }