public IActionResult BuyTokens() { ViewData["ExchangeRates"] = _db.ExchangeRates.ToList(); BuyTokensAjaxModel model = new BuyTokensAjaxModel(); model.TokensAmount = 1; return(View(model)); }
public IActionResult BuyTokens(BuyTokensAjaxModel model) { OrderAjaxModel result = new OrderAjaxModel() { IsSuccess = true, IsPaymentReceived = false }; try { if (ModelState.IsValid) { var exchangeRate = _db.ExchangeRates.SingleOrDefault(e => e.CurrencyCode == model.CurrencyCode); if (exchangeRate != null) { string targetWallet = !string.IsNullOrEmpty(exchangeRate.Address) ? exchangeRate.Address : GetTargetWallet(model.CurrencyCode); Order order = new Order() { CurrencyCode = model.CurrencyCode, TokensAmount = model.TokensAmount, Price = Decimal.Multiply(exchangeRate.Rate, model.TokensAmount), TargetWallet = targetWallet, User = currentUser, IsPaymentReceived = false, }; _db.Orders.Add(order); _db.SaveChanges(); result.Id = order.Id; result.Price = order.Price; result.TargetWallet = order.TargetWallet; result.TokensAmount = order.TokensAmount; result.CurrencyCode = order.CurrencyCode; } } } catch (Exception e) { result.IsSuccess = false; result.Errors.Add(e.Message); } return(new JsonResult(result)); }