/// <summary> /// Process the order /// </summary> protected void wzdCheckOut_FinishButtonClick(object sender, WizardNavigationEventArgs e) { if (Profile.ShoppingCart.CartItems.Count > 0) { if (Profile.ShoppingCart.Count > 0) { // display ordered items CartListOrdered.Bind(Profile.ShoppingCart.CartItems); // display total and credit card information ltlTotalComplete.Text = ltlTotal.Text; ltlCreditCardComplete.Text = ltlCreditCard.Text; // create order OrderInfo order = new OrderInfo(int.MinValue, DateTime.Now, User.Identity.Name, GetCreditCardInfo(), billingForm.Address, shippingForm.Address, Profile.ShoppingCart.Total, Profile.ShoppingCart.GetOrderLineItems(), null); // insert Order newOrder = new Order(); newOrder.Insert(order); // destroy cart Profile.ShoppingCart.Clear(); Profile.Save(); } } else { lblMsg.Text = "<p><br>Can not process the order. Your cart is empty.</p><p class=SignUpLabel><a class=linkNewUser href=Default.aspx>Continue shopping</a></p>"; wzdCheckOut.Visible = false; } }
/// <summary> /// Process the order /// </summary> protected void wzdCheckOut_FinishButtonClick(object sender, WizardNavigationEventArgs e) { Profile profile = ProfileManager.Instance.GetCurrentUser(Page.User.Identity.Name); if (profile.ShoppingCart.Count > 0) { // display ordered items CartListOrdered.Bind(profile.ShoppingCart); // display total and credit card information ltlTotalComplete.Text = ltlTotal.Text; ltlCreditCardComplete.Text = ltlCreditCard.Text; #region Create Order Order order = Order.NewOrder(); order.UserId = profile.UniqueID.ToString(); order.OrderDate = DateTime.Now; order.CreditCard = GetCreditCard(); order.Courier = order.CreditCard.CardType; order.TotalPrice = profile.ShoppingCart.Total; order.AuthorizationNumber = 0; order.Locale = "en-us"; #region Shipping Information order.ShipAddr1 = billingForm.Address.Address1; order.ShipAddr2 = billingForm.Address.Address2; order.ShipCity = billingForm.Address.City; order.ShipState = billingForm.Address.State; order.ShipZip = billingForm.Address.Zip; order.ShipCountry = billingForm.Address.Country; order.ShipToFirstName = billingForm.Address.FirstName; order.ShipToLastName = billingForm.Address.LastName; #endregion #region Billing Information order.BillAddr1 = shippingForm.Address.Address1; order.BillAddr2 = shippingForm.Address.Address2; order.BillCity = shippingForm.Address.City; order.BillState = shippingForm.Address.State; order.BillZip = shippingForm.Address.Zip; order.BillCountry = shippingForm.Address.Country; order.BillToFirstName = shippingForm.Address.FirstName; order.BillToLastName = shippingForm.Address.LastName; #endregion order = order.Save(); #endregion int itemsOnBackOrder = 0; //Decrement and check the Inventory. foreach (Cart cart in profile.ShoppingCart) { Inventory inventory = Inventory.GetByItemId(cart.ItemId); if (cart.Quantity > inventory.Qty) { itemsOnBackOrder += cart.Quantity - inventory.Qty; } inventory.Qty -= cart.Quantity; #region Reset the Inventory back to 10,000 if (inventory.Qty < 0) { inventory.Qty = 10000; } #endregion inventory.Save(); } if (itemsOnBackOrder > 0) { ItemsOnBackOrder.Text = string.Format("<br /><p style=\"color:red;\"><b>Backorder ALERT:</b> {0} items are on backorder.</p>", itemsOnBackOrder); } profile.ShoppingCart.SaveOrderLineItems(order.OrderId); // destroy cart profile.ShoppingCart.Clear(); profile.Save(); } else { lblMsg.Text = "<p><br>Can not process the order. Your cart is empty.</p><p class=SignUpLabel><a class=linkNewUser href=Default.aspx>Continue shopping</a></p>"; wzdCheckOut.Visible = false; } }