public ActionResult RequestFunction(int ID)
        {
            MehriamarqueeEntities meh  = new MehriamarqueeEntities();
            Bookingdata           book = meh.Bookingdatas.Where(X => X.functionID == ID).FirstOrDefault();

            book.RequestStatus    = "true";
            meh.Entry(book).State = System.Data.Entity.EntityState.Modified;
            meh.SaveChanges();
            FunctionRequestedTable funcls = new FunctionRequestedTable();

            funcls.functionID  = ID;
            funcls.requestDate = DateTime.Today;
            funcls.Status      = "SENDED";
            meh.FunctionRequestedTables.Add(funcls);
            meh.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public ActionResult GetItemsForDish(List <string> items, List <string> Beve, List <string> Desert, int idofrequest)
        {
            MehriamarqueeEntities meh        = new MehriamarqueeEntities();
            List <Item>           itemes     = meh.Items.ToList();
            List <Beverage>       Beveitems  = meh.Beverages.ToList();
            List <Desert>         Desetitems = meh.Deserts.ToList();
            List <Dish>           dihes      = meh.Dishes.ToList();

            for (int i = 0; i < items.Count; i++)
            {
                foreach (var itemcoun in dihes)
                {
                    if (items[i] == itemcoun.dishName)
                    {
                        foreach (var getitems in itemes)
                        {
                            int count = 0;
                            if (items[i + 1] == "true")
                            {
                                DishWithItem dishofitem = new DishWithItem();
                                dishofitem.dishId          = itemcoun.dishID;
                                dishofitem.itemId          = getitems.itemId;
                                dishofitem.priceOfItems    = int.Parse(items[i + 3]);
                                dishofitem.qunatityOfItems = int.Parse(items[i + 4]);
                                dishofitem.requestID       = idofrequest;
                                Item getid = new Item();
                                using (MehriamarqueeEntities mh = new MehriamarqueeEntities())
                                {
                                    getid = mh.Items.Where(X => X.itemId == getitems.itemId).FirstOrDefault();
                                    if (getid.quantity >= int.Parse(items[i + 4]))
                                    {
                                        getid.quantity        = getid.quantity - int.Parse(items[i + 4]);
                                        mh.Entry(getid).State = System.Data.Entity.EntityState.Modified;
                                        mh.SaveChanges();
                                    }
                                    else
                                    {
                                        TempData["message"] = "Quantity is low  for required quantity";
                                        goto exit
                                        ;
                                    }
                                }
                                meh.DishWithItems.Add(dishofitem);
                                meh.SaveChanges();
                                i = i + 4;
                                count++;
                            }

                            if (count == 0)
                            {
                                i = i + 3;
                            }
                        }
                    }
                }
            }

            for (int i = 0; i < Beve.Count; i++)
            {
                foreach (var itemcoun in dihes)
                {
                    if (Beve[i] == itemcoun.dishName)
                    {
                        foreach (var getitems in Beveitems)
                        {
                            int count = 0;
                            if (Beve[i + 1] == "true")
                            {
                                beveragesWithFunctionWithMenu dishofitem = new beveragesWithFunctionWithMenu();
                                dishofitem.dishID            = itemcoun.dishID;
                                dishofitem.beverageID        = getitems.beverageId;
                                dishofitem.PriceBeverages    = int.Parse(Beve[i + 3]);
                                dishofitem.quantityBeverages = int.Parse(Beve[i + 4]);
                                dishofitem.requestID         = idofrequest;
                                Beverage getid = new Beverage();
                                using (MehriamarqueeEntities mh = new MehriamarqueeEntities())
                                {
                                    getid = mh.Beverages.Where(X => X.beverageId == getitems.beverageId).FirstOrDefault();
                                    if (getid.quantityOfBeverages >= int.Parse(Beve[i + 4]))
                                    {
                                        getid.quantityOfBeverages = getid.quantityOfBeverages - int.Parse(Beve[i + 4]);
                                        mh.Entry(getid).State     = System.Data.Entity.EntityState.Modified;
                                        mh.SaveChanges();
                                    }
                                    else
                                    {
                                        TempData["message"] = "Quantity is low  for required quantity";
                                        goto exit
                                        ;
                                    }
                                }
                                meh.beveragesWithFunctionWithMenus.Add(dishofitem);
                                meh.SaveChanges();
                                i = i + 4;
                                count++;
                            }

                            if (count == 0)
                            {
                                i = i + 3;
                            }
                        }
                    }
                }
            }
            for (int i = 0; i < Desert.Count; i++)
            {
                foreach (var itemcoun in dihes)
                {
                    if (Desert[i] == itemcoun.dishName)
                    {
                        foreach (var getitems in Desetitems)
                        {
                            int count = 0;
                            if (Desert[i + 1] == "true")
                            {
                                DesertWithFunctionWithMenu dishofitem = new DesertWithFunctionWithMenu();
                                dishofitem.dishID         = itemcoun.dishID;
                                dishofitem.desertID       = getitems.desertId;
                                dishofitem.PriceDesert    = int.Parse(Desert[i + 3]);
                                dishofitem.quantityDesert = int.Parse(Desert[i + 4]);
                                dishofitem.requestID      = idofrequest;
                                Desert getid = new Desert();
                                using (MehriamarqueeEntities mh = new MehriamarqueeEntities())
                                {
                                    getid = mh.Deserts.Where(X => X.desertId == getitems.desertId).FirstOrDefault();
                                    if (getid.quantityOfdesert >= int.Parse(Desert[i + 4]))
                                    {
                                        getid.quantityOfdesert = getid.quantityOfdesert - int.Parse(Desert[i + 4]);
                                        mh.Entry(getid).State  = System.Data.Entity.EntityState.Modified;
                                        mh.SaveChanges();
                                    }
                                    else
                                    {
                                        TempData["message"] = "Quantity is low  for required quantity";
                                        goto exit
                                        ;
                                    }
                                }
                                meh.DesertWithFunctionWithMenus.Add(dishofitem);
                                meh.SaveChanges();
                                i = i + 4;
                                count++;
                            }

                            if (count == 0)
                            {
                                i = i + 3;
                            }
                        }
                    }
                }
            }
exit:

            FunctionRequestedTable func = meh.FunctionRequestedTables.Where(X => X.requestID == idofrequest).FirstOrDefault();

            func.Status           = "SERVED";
            meh.Entry(func).State = System.Data.Entity.EntityState.Modified;
            meh.SaveChanges();
            return(View("Index"));
        }