public ActionResult Currency(string tab, ExchangeRateViewModel exchangeRateViewModel) { var currencies = this.repository.GetCurrencies(); this.ViewData["MainMenuViewModel"] = MenuViewModelFactory.CreateAdminMenu(repository, ControlPanelPage.Currency); this.ViewData["SettingsViewModel"] = this.settingsViewModel; this.ViewData["Currencies"] = currencies; this.ViewData["Tab"] = tab; this.ViewData["CurrenciesSelectList"] = currencies.Select(c => new SelectListItem { Text = c.Text, Value = c.Id.ToString() }).ToList(); if (exchangeRateViewModel == null) { exchangeRateViewModel = new ExchangeRateViewModel(this.repository); } else { exchangeRateViewModel.Initialize(this.repository); } return(this.View("Currency", exchangeRateViewModel)); }
public ActionResult ExchangeRate() { string message = string.Empty; ExchangeRateViewModel model = new ExchangeRateViewModel(); model.GetExchangeRate(); return(View(model)); }
public ActionResult Create() { List <Currency> nativeList = currencyService.GetCurrencies().Where(u => u.IsNativeCurrency).ToList(); Currency native = nativeList.FirstOrDefault(); ExchangeRateViewModel model = new ExchangeRateViewModel() { CurrencyId = -1, CurrencyList = currencyService.GetCurrencies().Where(u => u.Name != native.Name).ToList(), }; return(View(model)); }
public async Task <ExchangeRateViewModel> GetExhangeRates([FromBody] ExhangeRateRequestViewModel request) { try { ExchangeRateViewModel result = await _currencyBll.GetExchangeRate(request.Currency, request.DateOn); return(result); } catch (Exception ex) { throw new Exception("Ошибка при регистрации нового аккаунта" + ex.Message + ex.InnerException); } }
public ModelStateDictionary ValidateRateCreatingAndEditing(ExchangeRateViewModel model, ModelStateDictionary ModelState) { decimal rate = 0; if (!exchangeRateService.RateTryParse(model.RateForPurchaise, out rate)) { ModelState.AddModelError("Rate", localizer["RateFormatValidation"]); } else if (!exchangeRateService.RateTryParse(model.RateForSale, out rate)) { ModelState.AddModelError("Rate", localizer["RateFormatValidation"]); } else if (rate <= 0) { ModelState.AddModelError("Rate", localizer["RateNotNull"]); } return(ModelState); }
public ActionResult Create(ExchangeRateViewModel model) { validationService.ValidateRateCreatingAndEditing(model, ModelState); decimal rateForSale = 0; decimal rateForPurchaise = 0; if (!RateTryParse(model.RateForSale, out rateForSale) || !RateTryParse(model.RateForPurchaise, out rateForPurchaise)) { ModelState.AddModelError("RateForSale", localizer["RateFormatValidation"]); ModelState.AddModelError("RateForPurchaise", localizer["RateFormatValidation"]); } else if (rateForSale <= 0 || rateForPurchaise <= 0) { ModelState.AddModelError("RateForSale", localizer["RateNotNull"]); ModelState.AddModelError("RateForPurchaise", localizer["RateNotNull"]); } if (ModelState.IsValid) { ExchangeRate exchangeRate = new ExchangeRate() { RateForPurchaise = rateForPurchaise, RateForSale = rateForSale, RateDate = DateTime.Now, CurrencyId = model.CurrencyId, ExchangeRateType = context.ExchangeRateTypes.FirstOrDefault(e => e.IsEqual(ExchangeRateTypesEnum.Market)) }; exchangeRateService.AddExchangeRate(exchangeRate); context.SaveChanges(); return(RedirectToAction("Index", "ExchangeRate")); } model.CurrencyList = currencyService.GetCurrencies().ToList(); return(View(model)); }
public ActionResult ExchangeRateUpdate(string action, string rate, string rate_r, Guid?id, ExchangeRateViewModel newRate) { // ajax update if (string.Equals(action, "update", StringComparison.OrdinalIgnoreCase) && id != null) { this.repository.UpdateExchangeRate(new ExchangeRate { Id = id.Value, ConversionRate = this.TryConvertDouble(rate), ReverseConversionRate = this.TryConvertDouble(rate_r) }); return(new HttpStatusCodeResult(System.Net.HttpStatusCode.OK)); } // new exchange rate post if (newRate != null && this.ModelState.IsValid) { try { this.repository.AddExchangeRate(new ExchangeRate { FromCurrencyId = newRate.FromId, ToCurrencyId = newRate.ToId, ConversionRate = newRate.Rate, ReverseConversionRate = newRate.ReverseRate }); } catch (ModelValidationException e) { this.ModelState.AddModelError(string.Empty, ErrorCodeMap.GetStringForError(e.Message)); } } return(this.Currency(null, newRate)); }