Beispiel #1
0
        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();
        }
Beispiel #4
0
        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();
            }
        }
Beispiel #5
0
        //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);
            }
        }
Beispiel #6
0
        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();
                }
            }
        }
Beispiel #7
0
        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();
                }
            }
        }
Beispiel #8
0
        //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);
            }
        }