コード例 #1
0
 public void UpdateShoppingCartDatabase(String cartId, ShoppingCartUpdates[] CartItemUpdates)
 {
     using (var db = new CampusCourier.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);
         }
     }
 }
コード例 #2
0
ファイル: Site.Master.cs プロジェクト: riahtu/Campus-Courier
        public IQueryable <Restaurant> GetRestaurants()
        {
            var _db = new CampusCourier.Models.ProductContext();
            IQueryable <Restaurant> query = _db.Restaurants;

            return(query);
        }
コード例 #3
0
 public void Dispose()
 {
     if (_contextDB != null)
     {
         _contextDB.Dispose();
         _contextDB = null;
     }
 }
コード例 #4
0
ファイル: EditMenu.aspx.cs プロジェクト: sloans/CampusCourier
 public IQueryable GetProducts()
 {
     int rest = Convert.ToInt32(DropDownRemoveRestaurant.SelectedValue);
     var _db = new ProductContext();
     IQueryable query = _db.Products;
     IQueryable refined = from Product prod in query where prod.RestaurantID == rest select prod;
     return refined;
 }
コード例 #5
0
 public IQueryable<Product> GetProducts([QueryString("id")] int? categoryId)
 {
     var _db = new CampusCourier.Models.ProductContext();
     IQueryable<Product> query = _db.Products;
     if (categoryId.HasValue && categoryId > 0)
     {
         query = query.Where(p => p.RestaurantID == categoryId);
     }
     return query;
 }
コード例 #6
0
        public IQueryable <Product> GetProducts([QueryString("id")] int?categoryId)
        {
            var _db = new CampusCourier.Models.ProductContext();
            IQueryable <Product> query = _db.Products;

            if (categoryId.HasValue && categoryId > 0)
            {
                query = query.Where(p => p.RestaurantID == categoryId);
            }
            return(query);
        }
コード例 #7
0
        public IQueryable<Orders> ordersGrid_GetData()
        {
            var _db = new CampusCourier.Models.ProductContext();
            IQueryable<Orders> query = _db.Orders;
            //  ProductContext db = new ProductContext();
            //   var query = db.Orders.Include(s => s.OrderDetails.Select(e => e.OrderId));
            query = _db.Orders.Include(s => s.CC_orderdetail);
            //if(_db.Orde Contains(X => ""))
            //{

            //}
            return query;
        }
コード例 #8
0
 public IQueryable<Product> GetProduct([QueryString("productID")] int? productId)
 {
     var _db = new CampusCourier.Models.ProductContext();
     IQueryable<Product> query = _db.Products;
     if (productId.HasValue && productId > 0)
     {
         query = query.Where(p => p.ProductID == productId);
     }
     else
     {
         query = null;
     }
     return query;
 }
コード例 #9
0
        public IQueryable <Product> GetProduct([QueryString("productID")] int?productId)
        {
            var _db = new CampusCourier.Models.ProductContext();
            IQueryable <Product> query = _db.Products;

            if (productId.HasValue && productId > 0)
            {
                query = query.Where(p => p.ProductID == productId);
            }
            else
            {
                query = null;
            }
            return(query);
        }
コード例 #10
0
ファイル: AddProducts.cs プロジェクト: sloans/CampusCourier
        public bool AddProduct(string ProductName, string ProductDesc, string ProductPrice, string ProductRest, string ProductImagePath)
        {
            var newProduct = new Product();
            newProduct.ProductName = ProductName;
            newProduct.Description = ProductDesc;
            newProduct.UnitPrice = Convert.ToDouble(ProductPrice);
            newProduct.ImagePath = ProductImagePath;
            newProduct.RestaurantID = Convert.ToInt32(ProductRest);

            using (ProductContext context = new ProductContext())
            {
                context.Products.Add(newProduct);
                context.SaveChanges();
            }

            return true;
        }
コード例 #11
0
 public void UpdateItem(string updateCartID, int updateProductID, int quantity)
 {
     using (var _db = new CampusCourier.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);
         }
     }
 }
コード例 #12
0
        public void AddProductToMenu()
        {
            AddProducts adder = new AddProducts();
            ProductContext _db = new ProductContext();
            string n = "cheese";
            string d = "some cheesy cheese";
            string p = "3.50";
            string i = "/Images/10101.jpg";
            string r = "1";

            adder.AddProduct(n, d, p, r, i);

            IQueryable<Product> query = _db.Products;
            IQueryable<Product> refined = from Product prod in query where prod.ProductName.Equals(n) select prod;
            Product inserted = refined.First();
            Assert.AreEqual(n, inserted.ProductName);
            Assert.AreEqual(d, inserted.Description);
            Assert.AreEqual(p, String.Format("{0:0.00}", inserted.UnitPrice));
            Assert.AreEqual(i, inserted.ImagePath);
        }
コード例 #13
0
 public void RemoveItem(string removeCartID, int removeProductID)
 {
     using (var _db = new CampusCourier.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);
         }
     }
 }
コード例 #14
0
        public IQueryable <Orders> ordersGrid_GetData()

        {
            var _db = new CampusCourier.Models.ProductContext();

            IQueryable <Orders> query = _db.Orders;

            //  ProductContext db = new ProductContext();

            //   var query = db.Orders.Include(s => s.OrderDetails.Select(e => e.OrderId));

            query = _db.Orders.Include(s => s.CC_orderdetail);

            //if(_db.Orde Contains(X => ""))

            //{



            //}

            return(query);
        }
コード例 #15
0
        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"]);
                    }
                    //Orders 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 (CampusCourier.Logic.ShoppingCartActions usersShoppingCart =
                        new CampusCourier.Logic.ShoppingCartActions())
                    {
                        usersShoppingCart.EmptyCart();
                    }

                    // Clear order id.
                    Session["currentOrderId"] = string.Empty;
                }
                else
                {
                    Response.Redirect("CheckoutError.aspx?" + retMsg);
                }
            }
        }
コード例 #16
0
 public IQueryable<Restaurant> GetRestaurants()
 {
     var _db = new CampusCourier.Models.ProductContext();
     IQueryable<Restaurant> query = _db.Restaurants;
     return query;
 }
コード例 #17
0
ファイル: EditMenu.aspx.cs プロジェクト: sloans/CampusCourier
        protected void RemoveProductButton_Click(object sender, EventArgs e)
        {
            using (var _db = new CampusCourier.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.";
                }
            }
        }
コード例 #18
0
 public void UpdateShoppingCartDatabase(String cartId, ShoppingCartUpdates[] CartItemUpdates)
 {
     using (var db = new CampusCourier.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);
         }
     }
 }
コード例 #19
0
 public void UpdateItem(string updateCartID, int updateProductID, int quantity)
 {
     using (var _db = new 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);
         }
     }
 }
コード例 #20
0
 public void RemoveItem(string removeCartID, int removeProductID)
 {
     using (var _db = new CampusCourier.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);
         }
     }
 }
コード例 #21
0
        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 Orders();

                    myOrder.Username = User.Identity.Name;
                    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 (CampusCourier.Logic.ShoppingCartActions usersShoppingCart = new CampusCourier.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.CustName = 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. Remove this if it wont work
                        Session["currentOrderId"] = myOrder.OrderId;

                        //Adding data to orders

                        List<CartItem> ordersdatalist = usersShoppingCart.GetCartItems();
                        for (int i = 0; i < ordersdatalist.Count; i++)
                        {
                            var ordersdata = new Orders();
                            ordersdata.OrderId = myOrder.OrderId;
                            ordersdata.Quantity = ordersdatalist[i].Quantity;
                            int productid = ordersdatalist[i].ProductId;
                            ordersdata.RestName = ordersdatalist[i].Product.Restaurant.RestaurantName;

                            int location = Convert.ToInt32(ordersdatalist[i].Product.RestaurantID);

                            string Query = "SELECT LocationName from Locations WHERE LocationID ='" + location + "'";
                            string connectionstring = ConfigurationManager.ConnectionStrings["CampusCourier"].ConnectionString;
                            SqlConnection conn = new SqlConnection(connectionstring);
                            SqlCommand comm = new SqlCommand(Query, conn);
                            conn.Open();
                            SqlDataReader nwReader = comm.ExecuteReader();

                                while (nwReader.Read())
                                {
                                    ordersdata.Location = (string)nwReader["LocationName"];

                                }
                                nwReader.Close();
                                conn.Close();

                                ordersdata.Total = Convert.ToDecimal(ordersdatalist[i].Product.UnitPrice);
                                ordersdata.Status = "Waiting For Delivery";
                                _db.Orders.Add(ordersdata);
                                _db.SaveChanges();
                            }

                        // Display Order information.
                        List<Orders> orderList = new List<Orders>();
                        orderList.Add(myOrder);
                        ShipInfo.DataSource = orderList;
                        ShipInfo.DataBind();

                        // Display OrderDetails.
                        OrderItemList.DataSource = myOrderList;
                        OrderItemList.DataBind();
                        Session["userCheckoutCompleted"] = "true";
                        Response.Redirect("~/Checkout/CheckoutComplete.aspx");
                    }
                }
                else
                {
                    Response.Redirect("CheckoutError.aspx?" + retMsg);
                }
            }
        }