/// <summary> /// Makes the payment, and if successful, completes the order. /// </summary> /// <param name="Payment"></param> /// <param name="Order"></param> internal void Checkout(Payment Payment, Order Order) { Order.MoneyTransfers.Add(Payment); Order.Status = Globals.ORDERSTATUS_COMPLETE; Order.Statuses.Add(new OrderStatus { State = Globals.ORDERSTATUS_COMPLETE, Date = DateTime.Now }); Order.Carts.ToList().AsParallel().ForAll(c => c.OrderCompleted = true); SaveChanges(); }
internal void CreateOrder(string UserKey, List<Cart> Carts, Shipping Shipping) { var order = new Order { Carts = Carts, Status = Globals.ORDERSTATUS_INCOMPLETE, Statuses = new List<OrderStatus> { new OrderStatus { State = Globals.ORDERSTATUS_INCOMPLETE, Date = DateTime.Now } }, UserKey = UserKey, Shipping = Shipping }; var outdatedOrder = GetIncompleteOrder(UserKey); if(outdatedOrder != null) { Order.Remove(outdatedOrder); } Order.Add(order); SaveChanges(); }
public ActionResult CheckoutComplete(Order order) { return View("OrderDetails", order); }
internal void CalculateOrderSummary(out decimal ItemsTotal, out decimal ShippingPrice, out decimal OrderTotal, Order currentOrder) { ItemsTotal = CartBusiness.CalculateGrandTotal(currentOrder.Carts.AsQueryable()); ShippingPrice = currentOrder.Shipping.ShippingPrice; OrderTotal = ItemsTotal + ShippingPrice; }