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(); } }
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(); } }
public static Invoice GetOrderInvoice(int orderId) { using (DataAccessContainer cont = new DataAccessContainer()) { return cont.Orders.FirstOrDefault(or => or.Id == orderId).Invoice; } }
public static List<Product> GetProducts() { using (var cont = new DataAccessContainer()) { var products = (from p in cont.Products select p).ToList(); return products; } }
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; } }
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; } }
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); } }
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); } }