public void Dispose()
 {
     if (_db != null)
     {
         _db.Dispose();
         _db = null;
     }
 }
 public IQueryable<Product> GetProducts([QueryString("id")] int?categoryId) 
 { 
     var _db = new ClassiqWheels.Models.ProductContext(); 
     IQueryable<Product> query = _db.Products; 
     if (categoryId.HasValue && categoryId > 0) 
     { 
     query = query.Where(p => p.CategoryID == categoryId); 
     }           
     return query; 
 } 
示例#3
0
        public bool AddProduct(string ProductName, string ProductDesc, string
       ProductPrice, string ProductCategory, string ProductImagePath)
        {
            var myProduct = new Product();
            myProduct.ProductName = ProductName;
            myProduct.Description = ProductDesc;
            myProduct.UnitPrice = Convert.ToDouble(ProductPrice);
            myProduct.ImagePath = ProductImagePath;
            myProduct.CategoryID = Convert.ToInt32(ProductCategory);

            using (ProductContext _db = new ProductContext())
            {
                // Add product to DB. 
                _db.Products.Add(myProduct);
                _db.SaveChanges();
            }
            // Success. 
            return true;
        }
示例#4
0
    protected void RemoveProductButton_Click(object sender, EventArgs e)
    {
      using (var _db = new ClassiqWheels.Models.ProductContext())
      {
        int productId = Convert.ToInt16(DropDownRemoveProduct.SelectedValue);
        var myItem = (from c in _db.Products where c.ProductID == productId select c).FirstOrDefault();
        if (myItem != null)
        {
          _db.Products.Remove(myItem);
          _db.SaveChanges();

          // Reload the page.
          string pageUrl = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Count() - Request.Url.Query.Count());
          Response.Redirect(pageUrl + "?ProductAction=remove");
        }
        else
        {
          LabelRemoveStatus.Text = "Unable to locate product.";
        }
      }
    }
示例#5
0
 public IQueryable GetProducts()
 {
   var _db = new ClassiqWheels.Models.ProductContext();
   IQueryable query = _db.Products;
   return query;
 }
        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 (ClassiqWheels.Logic.ShoppingCartActions usersShoppingCart = new
ClassiqWheels.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 = myOrderList[i].Product.UnitPrice; 
 
 // Add OrderDetail to DB. 
 _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); 
 } 
 } 
 }
        protected void Page_Load(object sender, EventArgs e) 
 { 
 if (!IsPostBack) 
 { 
 // Verify user has completed the checkout process. 
 if ((string)Session["userCheckoutCompleted"] != "true") 
 { 
 Session["userCheckoutCompleted"] = string.Empty; 
 Response.Redirect("CheckoutError.aspx?" + 
"Desc=Unvalidated%20Checkout."); 
 } 
 
 NVPAPICaller payPalCaller = new NVPAPICaller(); 
 
 string retMsg = ""; 
 string token = ""; 
 string finalPaymentAmount = ""; 
 string PayerID = ""; 
 NVPCodec decoder = new NVPCodec(); 
 
 token = Session["token"].ToString(); 
 PayerID = Session["payerId"].ToString(); 
 finalPaymentAmount = Session["payment_amt"].ToString(); 
 
 bool ret = payPalCaller.DoCheckoutPayment(finalPaymentAmount, token, 
PayerID, ref decoder, ref retMsg); 
 if (ret) 
 { 
 // Retrieve PayPal confirmation value. 
 string PaymentConfirmation = 
decoder["PAYMENTINFO_0_TRANSACTIONID"].ToString(); 
 TransactionId.Text = PaymentConfirmation; 
 
 
 ProductContext _db = new ProductContext(); 
 // Get the current order id. 
 int currentOrderId = -1; 
 if (Session["currentOrderId"] != string.Empty) 
 { 
 currentOrderId = Convert.ToInt32(Session["currentOrderID"]); 
 } 
 Order myCurrentOrder; 
 if (currentOrderId >= 0) 
 { 
 // Get the order based on order id. 
  myCurrentOrder = _db.Orders.Single(o => o.OrderId == currentOrderId); 
 // Update the order to reflect payment has been completed. 
 myCurrentOrder.PaymentTransactionId = PaymentConfirmation; 
 // Save to DB. 
 _db.SaveChanges(); 
 } 
 
 // Clear shopping cart. 
 using (ClassiqWheels.Logic.ShoppingCartActions usersShoppingCart = 
 new ClassiqWheels.Logic.ShoppingCartActions()) 
 { 
 usersShoppingCart.EmptyCart(); 
 } 
 
 // Clear order id. 
 Session["currentOrderId"] = string.Empty; 
 } 
 else 
 { 
 Response.Redirect("CheckoutError.aspx?" + retMsg); 
 } 
 } 
 }
示例#8
0
 public IQueryable<Category> GetCategories()
 {
     var _db = new ClassiqWheels.Models.ProductContext();
     IQueryable<Category> query = _db.Categories;
     return query;
 }
 public void UpdateItem(string updateCartID, int updateProductID, int 
quantity) 
 { 
 using (var _db = new ClassiqWheels.Models.ProductContext()) 
 { 
 try 
 { 
 var myItem = (from c in _db.ShoppingCartItems where c.CartId == 
updateCartID && c.Product.ProductID == updateProductID select 
c).FirstOrDefault(); 
 if (myItem != null) 
 { 
 myItem.Quantity = quantity; 
 _db.SaveChanges(); 
 } 
 } 
 catch (Exception exp) 
 { 
 throw new Exception("ERROR: Unable to Update Cart Item - " + 
exp.Message.ToString(), exp); 
 } 
 } 
 } 
 public void RemoveItem(string removeCartID, int removeProductID) 
 { 
 using (var _db = new ClassiqWheels.Models.ProductContext()) 
 { 
 try 
 { 
 var myItem = (from c in _db.ShoppingCartItems where c.CartId == 
removeCartID && c.Product.ProductID == removeProductID select 
c).FirstOrDefault(); 
 if (myItem != null) 
 { 
 // Remove Item. 
 _db.ShoppingCartItems.Remove(myItem); 
 _db.SaveChanges(); 
 } 
 } 
 catch (Exception exp) 
 { 
 throw new Exception("ERROR: Unable to Remove Cart Item - " + 
exp.Message.ToString(), exp); 
 } 
 } 
 } 
 public void UpdateShoppingCartDatabase(String cartId, ShoppingCartUpdates[] 
CartItemUpdates) 
 { 
 using (var db = new ClassiqWheels.Models.ProductContext()) 
 { 
 try 
 { 
 int CartItemCount = CartItemUpdates.Count(); 
 List<CartItem> myCart = GetCartItems(); 
 foreach (var cartItem in myCart) 
 { 
 // Iterate through all rows within shopping cart list 
 for (int i = 0; i < CartItemCount; i++) 
 { 
 if (cartItem.Product.ProductID == CartItemUpdates[i].ProductId) 
 { 
 if (CartItemUpdates[i].PurchaseQuantity < 1 || 
CartItemUpdates[i].RemoveItem == true) 
 { 
 RemoveItem(cartId, cartItem.ProductId); 
 } 
 else 
 { 
 UpdateItem(cartId, cartItem.ProductId, CartItemUpdates[i].PurchaseQuantity);  } 
 } 
 } 
 } 
 } 
 catch (Exception exp) 
 { 
 throw new Exception("ERROR: Unable to Update Cart Database - " + 
exp.Message.ToString(), exp); 
 } 
 } 
 }