protected void OrderHistory_DataBound(object sender, EventArgs e) { ProductContext _db = new ProductContext(); Order order = new Order(); for (int i = 0; i < OrderHistory.Rows.Count; i++) { int id = int.Parse(OrderHistory.Rows[i].Cells[0].Text); order = _db.Orders.Find(id); if (order.PaymentTransactionId == null) { OrderHistory.Rows[i].Visible = false; } } }
public int GetUnitSold(int Id) { ProductContext _db = new ProductContext(); Order order = new Order(); int quantity = 0; List<OrderDetail> lst = _db.OrderDetails.Where(p => p.ProductId == Id).ToList(); foreach (var item in lst) { order = _db.Orders.Where(p => p.OrderId == item.OrderId).FirstOrDefault(); if (order.PaymentTransactionId != null) { quantity += item.Quantity; } } return quantity; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { NVPAPICaller payPalCaller = new NVPAPICaller(); string retMsg = ""; string token = ""; string PayerID = ""; NVPCodec decoder = new NVPCodec(); token = Session["token"].ToString(); bool ret = payPalCaller.GetCheckoutDetails(token, ref PayerID, ref decoder, ref retMsg); if (ret) { Session["payerId"] = PayerID; var myOrder = new Order(); myOrder.OrderDate = Convert.ToDateTime(decoder["TIMESTAMP"].ToString()); myOrder.Username = User.Identity.Name; myOrder.FirstName = decoder["FIRSTNAME"].ToString(); myOrder.LastName = decoder["LASTNAME"].ToString(); myOrder.Address = decoder["SHIPTOSTREET"].ToString(); myOrder.City = decoder["SHIPTOCITY"].ToString(); myOrder.State = decoder["SHIPTOSTATE"].ToString(); myOrder.PostalCode = decoder["SHIPTOZIP"].ToString(); myOrder.Country = decoder["SHIPTOCOUNTRYCODE"].ToString(); myOrder.Email = decoder["EMAIL"].ToString(); myOrder.Total = Convert.ToDecimal(decoder["AMT"].ToString()); // Verify total payment amount as set on CheckoutStart.aspx. try { decimal paymentAmountOnCheckout = Convert.ToDecimal(Session["payment_amt"].ToString()); decimal paymentAmoutFromPayPal = Convert.ToDecimal(decoder["AMT"].ToString()); if (paymentAmountOnCheckout != paymentAmoutFromPayPal) { Response.Redirect("CheckoutError.aspx?" + "Desc=Amount%20total%20mismatch."); } } catch (Exception) { Response.Redirect("CheckoutError.aspx?" + "Desc=Amount%20total%20mismatch."); } // Get DB context. ProductContext _db = new ProductContext(); // Add order to DB. _db.Orders.Add(myOrder); _db.SaveChanges(); // Get the shopping cart items and process them. using (MenStore.Logic.ShoppingCartActions usersShoppingCart = new MenStore.Logic.ShoppingCartActions()) { List<CartItem> myOrderList = usersShoppingCart.GetCartItems(); // Add OrderDetail information to the DB for each product purchased. for (int i = 0; i < myOrderList.Count; i++) { // Create a new OrderDetail object. var myOrderDetail = new OrderDetail(); myOrderDetail.OrderId = myOrder.OrderId; myOrderDetail.Username = User.Identity.Name; myOrderDetail.ProductId = myOrderList[i].ProductId; myOrderDetail.Quantity = myOrderList[i].Quantity; myOrderDetail.UnitPrice = Math.Round((double)(myOrderList[i].Product.UnitPrice - (myOrderList[i].Product.UnitPrice * myOrderList[i].Product.Discount)), 2); // Add OrderDetail to DB. //Product p = _db.Products.Find(myOrderList[i].ProductId); ////set units in stock and unlock units //p.UnitsLock -= myOrderList[i].Quantity; //p.UnitInStock -= myOrderList[i].Quantity; _db.OrderDetails.Add(myOrderDetail); _db.SaveChanges(); } // Set OrderId. Session["currentOrderId"] = myOrder.OrderId; // Display Order information. List<Order> orderList = new List<Order>(); orderList.Add(myOrder); ShipInfo.DataSource = orderList; ShipInfo.DataBind(); // Display OrderDetails. OrderItemList.DataSource = myOrderList; OrderItemList.DataBind(); } } else { Response.Redirect("CheckoutError.aspx?" + retMsg); } } }
internal double GetCashCollected(int id) { ProductContext _db = new ProductContext(); Order order = new Order(); double cash = 0.00; List<OrderDetail> lst = _db.OrderDetails.Where(p => p.ProductId == id).ToList(); foreach (var item in lst) { order = _db.Orders.Where(p => p.OrderId == item.OrderId).FirstOrDefault(); if (order.PaymentTransactionId != null) { cash += (double)(item.UnitPrice * item.Quantity); } } return cash; }