public PaymentResult Checkout(CheckoutViewModel model) { var items = GetCartItems(); var order = new Order() { FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, OrderDate = DateTime.Now, UserId = HttpContext.Current.User.Identity.GetUserId() }; foreach (var item in items) { var detail = new OrderDetail() { ProductId = item.ProductId, UnitPrice = item.Product.Price, Quantity = item.Count }; order.Total += (item.Product.Price * item.Count); order.OrderDetails.Add(detail); } model.Total = order.Total; var request = new TransactionRequest() { PrivateKey = "c4660e3571ca74392d20cc91f4568748", PublicKey = "y5yfh9kcnvt8qf4x", Amount = model.Total, TransactionCreditCardRequest = new CreditCardDetails() { Number = model.CardNumber, CVV = model.Cvv, ExpirationMonth = model.Month, ExpirationYear = model.Year } }; var result = Utility.Request(request); if (result.Message == "Pass") { order.TransactionId = result.TransactionId; _db.Orders.Add(order); _db.SaveChanges(); } return result; }
public ActionResult Checkout(CheckoutViewModel model) { if (!ModelState.IsValid) { return View(model); } var cart = new ShoppingCartService(HttpContext); var result = cart.Checkout(model); if (result.Message=="Pass") { TempData["transactionId"] = result.TransactionId; cart.ClearCart(HttpContext); return RedirectToAction("Complete"); } ModelState.AddModelError(string.Empty, result.Message); return View(model); }