// GET: Exchange public ActionResult Index() { ExchangeIndexModel indexModel = new ExchangeIndexModel(); indexModel.exchangeRateModel = GetRate(); indexModel.userBalanceModel = GetBalance(); indexModel.exchangeLogModel = new ExchangeLogModel { avail_currency_code = new[] { new SelectListItem { Value = indexModel.exchangeRateModel.rates.MYR.ToString(), Text = "MYR", Selected = true }, new SelectListItem { Value = indexModel.exchangeRateModel.rates.AUD.ToString(), Text = "AUD" }, new SelectListItem { Value = indexModel.exchangeRateModel.rates.SGD.ToString(), Text = "SGD" } } }; //ViewBag.RateList = ConversionRateSelectList(indexModel.exchangeRateModel, true); //ViewData["RateList"] = ConversionRateSelectList(indexModel.exchangeRateModel, true); //ViewBag.CurrencyCode = ConversionRateSelectList(indexModel.exchangeRateModel, false); return(View(indexModel)); }
public async Task <IActionResult> Index(int page, string sort, string account) { IQueryable <StockDefinition> stocks = null; if (sort == null) { sort = "Price"; } int view = 14; if (sort == "Name") { stocks = _context.StockDefinitions.AsQueryable().OrderBy(s => s.Ticker).Skip(page * view).Take(view); } else if (sort == "Price") { stocks = _context.StockDefinitions.AsQueryable().OrderByDescending(s => s.Current_Value).Skip(page * view).Take(view); } // Allow an account to be specified Entity chosen = null; if (string.IsNullOrWhiteSpace(account)) { chosen = await _userManager.GetUserAsync(User); } else { chosen = await _context.Users.FindAsync(account); if (chosen == null) { chosen = await _context.Groups.FindAsync(account); } } ExchangeIndexModel model = new ExchangeIndexModel() { Stock_List = stocks, Chosen_Account = chosen }; return(View(model)); }
public ActionResult Index(ExchangeIndexModel indexModel, FormCollection formCollection) { if (ModelState.IsValid) { DateTime dtNow = DateTime.Now; long userid = long.Parse(Session["userid"].ToString()); indexModel.exchangeLogModel.user_id = userid; indexModel.exchangeLogModel.transaction_date = dtNow; indexModel.exchangeLogModel.to_currency_code = formCollection["ToCurrencyCode"]; var dataUserBalance = _db.userBalanceModels.Where(b => b.user_id == userid).ToList(); if (dataUserBalance.Count > 0) { decimal toAmount = decimal.Parse(indexModel.exchangeLogModel.to_amount); decimal fromAmount = decimal.Parse(indexModel.exchangeLogModel.from_amount); decimal balanceUSD = decimal.Parse(dataUserBalance.FirstOrDefault().bal_usd.ToString()); balanceUSD = decimal.Subtract(balanceUSD, fromAmount); dataUserBalance.FirstOrDefault().bal_usd = balanceUSD.ToString(); dataUserBalance.FirstOrDefault().last_update_date = dtNow; switch (indexModel.exchangeLogModel.to_currency_code) { case "MYR": decimal balanceMYR = decimal.Parse(dataUserBalance.FirstOrDefault().bal_myr.ToString()); balanceMYR = decimal.Add(balanceMYR, toAmount); dataUserBalance.FirstOrDefault().bal_myr = balanceMYR.ToString(); break; case "AUD": decimal balanceAUD = decimal.Parse(dataUserBalance.FirstOrDefault().bal_aud.ToString()); balanceAUD = decimal.Add(balanceAUD, toAmount); dataUserBalance.FirstOrDefault().bal_aud = balanceAUD.ToString(); break; case "SGD": decimal balanceSGD = decimal.Parse(dataUserBalance.FirstOrDefault().bal_sgd.ToString()); balanceSGD = decimal.Add(balanceSGD, toAmount); dataUserBalance.FirstOrDefault().bal_sgd = balanceSGD.ToString(); break; } } //var data = _db.userModels.Where(s => s.email.Equals(email) && s.password.Equals(f_password)).ToList(); _db.Configuration.ValidateOnSaveEnabled = false; _db.exchangeLogModels.Add(indexModel.exchangeLogModel); _db.SaveChanges(); } else { ViewBag.error = "Login failed"; //return RedirectToAction("Login"); return(View()); } //return View(); return(RedirectToAction("ViewReport")); }