public SidePerOrder(int orderID, int sideID) { using (var db = new BlazinContext()) { //Get the related order and drink var order = db.Orders.Find(orderID); var side = db.Sides.Find(sideID); if (order == null) //If there is no such order: { throw new KeyNotFoundException("Order Not Found"); } else if (side == null) //If there is no such drink related to the said order: { throw new KeyNotFoundException("Drink Not Found"); } else { this.Order = order; this.Side = side; this.Amount = 1; db.SidesPerOrder.Add(this); db.SaveChanges(); } } }
public DrinkViewModel(Order order) { this.Order = order; using (var db = new BlazinContext()) { this.Drinks = db.Drinks.ToList(); } }
public SideViewModel() { using (var db = new BlazinContext()) { this.Sides = db.Sides.ToList(); } this.Order = new Order(); }
public void RaiseAmount() { using (var db = new BlazinContext()) { var dpo = db.SidesPerOrder.Single(d => d.ID == this.ID); int current = this.Amount; current++; dpo.Amount = current; db.SaveChanges(); } }
//If a member with the given memberID found in the database, return it. Otherwise, create a new one and return that. public static Member FindOrCreate(BlazinContext db, string memberID) { var member = db.Members.Find(memberID); if (member == null) { member = new Member(memberID); db.Members.Add(member); db.SaveChanges(); return(member); } else { return(member); } }
public void AddSide(Side side) { using (var db = new BlazinContext()) { var sidesPerOrder = this.SidesPerOrder.SingleOrDefault(spo => spo.Side.ID == side.ID); if (sidesPerOrder != null) { sidesPerOrder.RaiseAmount(); } else { this.SidesPerOrder.Add(new SidePerOrder(this.ID, side.ID)); db.SaveChanges(); } } }
public void AddDrink(Drink drink) { using (var db = new BlazinContext()) { var drinkPerOrder = this.DrinksPerOrder.SingleOrDefault(dpo => dpo.Drink.ID == drink.ID); if (drinkPerOrder != null) { drinkPerOrder.RaiseAmount(); } else { this.DrinksPerOrder.Add(new DrinkPerOrder(this.ID, drink.ID)); db.SaveChanges(); } } }
//Methods //If an order with the given orderID found in the database, return it. Otherwise, create a new one and return that. public static Order FindOrCreate(BlazinContext db, int?orderID) { if (orderID.HasValue) { var order = db.Orders.Find(orderID.Value); if (order == null) { throw new KeyNotFoundException("Invalid Order ID."); } else { return(order); } } else { var order = new Order(); db.Orders.Add(order); db.SaveChanges(); return(order); } }