Example #1
0
 public static List<Product> GetOrderProducts(int orderId)
 {
     using (DataAccessContainer cont = new DataAccessContainer())
     {
         return cont.Orders.FirstOrDefault(or => or.Id == orderId).OrderProducts.Select(op => op.Product).ToList();
     }
 }
Example #2
0
 public static int GetOrderProductQuantity(int orderId, int productId)
 {
     using (DataAccessContainer cont = new DataAccessContainer())
     {
         return cont.OrderProducts.Where(op => op.Product.Id == productId && op.Order.Id == orderId).Select(op => op.Quantity).FirstOrDefault();
     }
 }
Example #3
0
 public static Invoice GetOrderInvoice(int orderId)
 {
     using (DataAccessContainer cont = new DataAccessContainer())
     {
         return cont.Orders.FirstOrDefault(or => or.Id == orderId).Invoice;
     }
 }
Example #4
0
 public static List<Product> GetProducts()
 {
     using (var cont = new DataAccessContainer())
     {
         var products = (from p in cont.Products
                         select p).ToList();
         return products;
     }
 }
Example #5
0
 public static User GetUser(string username)
 {
     using (var cont = new DataAccessContainer())
     {
         var user = (from u in cont.Users
                     where u.Username == username
                     select u).FirstOrDefault();
         return user;
     }
 }
Example #6
0
 public static Product GetProduct(int productId)
 {
     using (var cont = new DataAccessContainer())
     {
         var product = (from p in cont.Products
                        where p.Id == productId
                        select p).FirstOrDefault();
         return product;
     }
 }
Example #7
0
 public static bool AuthenticateUser(string username, string password)
 {
     using (var cont = new DataAccessContainer())
     {
         var user = (from u in cont.Users
                     where u.Username == username && u.Password == password
                     select u).FirstOrDefault();
         return (user != null);
     }
 }
Example #8
0
        protected void btnCheckout_Click(object sender, EventArgs e)
        {
            using (DataAccessContainer ctx = new DataAccessContainer())
            {
                DateTime now = DateTime.Now;

                Int.User usr = ctx.Users.FirstOrDefault(u => u.Id == loggedInUser.Id);
                Invoice nInv = new Invoice() { Date = now, IsPaid = false };
                Order nOrder = new Order() { Date = now, Invoice = nInv, Discount = 0 };
                decimal totalAmount = 0;
                GetCartItems().ForEach(ci =>
                {
                    OrderProduct nOrderProd = new OrderProduct() { Quantity = ci.Quantity, Product = ctx.Products.FirstOrDefault(p=>p.Id == ci.ProductId) };
                    nOrder.OrderProducts.Add(nOrderProd);
                    totalAmount += ci.Price * ci.Quantity;
                });

                //calulate discount
                if (totalAmount >= 50)
                {
                    nOrder.Discount += 10;
                }
                if(totalAmount >= 75)
                {
                    nOrder.Discount += 10;
                }
                if (totalAmount >= 100)
                {
                    nOrder.Discount += 10;
                }

                //save order and redirect
                usr.Orders.Add(nOrder);
                ctx.SaveChanges();
                ClearCart();
                Response.Redirect("ViewInvoiceAfterOrder.aspx?id=" + nOrder.Id);
            }
        }