Esempio n. 1
0
        public ActionResult SearchMenucard(string text, int id)
        {
            MenuCard menu = menuClient.GetMenuByCustomerID(id);

            menu.Drinks = menuClient.getDrinksBySearchOnMenucard(text, id);
            return(View(menu));
        }
Esempio n. 2
0
        public MenuCard GetMenuCardByCustomerID(int id)
        {
            MenuCard menuCard = null;

            using (SqlConnection connection = new SqlConnection(CONNECTION_STRING))
            {
                connection.Open();
                using (SqlCommand cmd = connection.CreateCommand())
                {
                    cmd.CommandText = "Select * From MenuCard Where customerID = @customerID";
                    cmd.Parameters.AddWithValue("customerID", id);
                    var Reader = cmd.ExecuteReader();
                    while (Reader.Read())
                    {
                        menuCard = new MenuCard
                        {
                            ID        = (int)Reader["id"],
                            Customer  = cusDB.GetCustomer((int)Reader["customerID"]),
                            Drinks    = GetAllDrinksByCustomer((int)Reader["id"]),
                            alchohols = GetAllAlchoholsByMenu((int)Reader["id"]),
                            helflasks = GetAllHellflaskByMenu((int)Reader["id"])
                        };
                    }
                }
            }
            return(menuCard);
        }
Esempio n. 3
0
        //public async Task DeleteMenuCardAsync(MenuCard menuCard)
        //{
        //  //StorageFolder folder = ApplicationData.Current.RoamingFolder;
        //  //StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(
        //  //await file.DeleteAsync(StorageDeleteOption.PermanentDelete);

        //}

        public async Task WriteMenuCardToFileAsync(MenuCard menuCard, StorageFile storageFile)
        {
            //using (Stream stream = await storageFile.OpenStreamForWriteAsync())
            //{
            //  var menuCardData = new MenuCardData(menuCard);

            //  Type[] extraTypes = new Type[]
            //    {
            //      typeof(MenuItemData)
            //    };
            //  var serializer = new XmlSerializer(typeof(MenuCardData), extraTypes);
            //  await Task.Run(() => serializer.Serialize(stream, menuCardData));
            //  await stream.FlushAsync();
            //}

            var menuCardData = new MenuCardData(menuCard);
            var knownTypes   = new Type[]
            {
                typeof(MenuItemData)
            };
            var cardStream = new MemoryStream();
            var serializer = new DataContractSerializer(typeof(MenuCardData), knownTypes);

            serializer.WriteObject(cardStream, menuCardData);

            using (Stream fileStream = await storageFile.OpenStreamForWriteAsync())
            {
                cardStream.Seek(0, SeekOrigin.Begin);
                await cardStream.CopyToAsync(fileStream);

                await fileStream.FlushAsync();
            }
        }
Esempio n. 4
0
        private void btnMenuDelete_Click(object sender, EventArgs e)
        {
            if (dataGridMenus.SelectedRows.Count > 0)
            {
                var ret = MessageBox.Show("This will delete all orders related to this menu, are you sure?",
                                          "Confirmation", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                if (ret == System.Windows.Forms.DialogResult.OK)
                {
                    MenuCard item         = (MenuCard)dataGridMenus.SelectedRows[0].DataBoundItem;
                    var      selected     = ctx.MenuCards.First(m => m.id == item.id);
                    var      orderdetails = from a in ctx.OrderDetails where a.MenuCardID == item.id select a;
                    foreach (var o in orderdetails)
                    {
                        ctx.OrderDetails.DeleteOnSubmit(o);
                    }

                    ctx.MenuCards.DeleteOnSubmit(selected);
                    ctx.SubmitChanges();// System.Data.Objects.SaveOptions.DetectChangesBeforeSave);


                    dataGridMenus.DataSource = ctx.MenuCards.ToArray();
                    cboFilter.SelectedValue  = 0;
                }
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            MenuCard menuCard = db.MenuCards.Find(id);

            db.MenuCards.Remove(menuCard);
            db.SaveChanges();
            return(RedirectToAction("MenuItems"));
        }
Esempio n. 6
0
 /// <summary>
 /// Populates the page with content passed during navigation.  Any saved state is also
 /// provided when recreating a page from a prior session.
 /// </summary>
 /// <param name="sender">
 /// The source of the event; typically <see cref="NavigationHelper"/>
 /// </param>
 /// <param name="e">Event data that provides both the navigation parameter passed to
 /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and
 /// a dictionary of state preserved by this page during an earlier
 /// session.  The state will be null the first time a page is visited.</param>
 private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
 {
     card = e.NavigationParameter as MenuCard;
     if (card != null)
     {
         this.DefaultViewModel["Items"] = card.MenuItems;
     }
 }
 public async Task <IActionResult> MenuCardAdd(MenuCard menuCard)
 {
     if (ModelState.IsValid)
     {
         await menuCardsService.AddMenuCardAsync(menuCard);
     }
     return(RedirectToAction("MenuCardManger"));
 }
Esempio n. 8
0
        private void LinqMetodeFindAll(MenuCard mcard)
        {
            var liste = mcard.Drinks.FindAll(d => !d.IsAlcoholic);

            foreach (var drink in liste)
            {
                Console.WriteLine(drink);
            }
        }
Esempio n. 9
0
        private void linqMetodeDrikkeOver40(MenuCard mcard)
        {
            var liste = mcard.Drinks.Where(d => d.Price > 40).OrderBy(d => d.Price);

            foreach (Drink drink in liste)
            {
                Console.WriteLine(drink);
            }
        }
        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="sender">
        /// The source of the event; typically <see cref="NavigationHelper"/>
        /// </param>
        /// <param name="e">Event data that provides both the navigation parameter passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and
        /// a dictionary of state preserved by this page during an earlier
        /// session.  The state will be null the first time a page is visited.</param>
        private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
        {
            card = e.NavigationParameter as MenuCard;
            if (card != null)
            {
                this.DefaultViewModel["Items"] = card.MenuItems;

                //sharing = new SharingContract();
                //sharing.ShareMenuCard(card);
            }
        }
Esempio n. 11
0
        private void LinqVælgEnkeltProperty(MenuCard mcard)
        {
            var drikkevareNavne =
                from d in mcard.Drinks
                select d.Name;

            foreach (var drink in drikkevareNavne)
            {
                Console.WriteLine(drink);
            }
        }
Esempio n. 12
0
 public MenuCardData(MenuCard menuCard)
 {
     this.Title       = menuCard.Title;
     this.Description = menuCard.Description;
     this.ImagePath   = menuCard.ImagePath;
     MenuItems        = new List <MenuItemData>();
     foreach (var item in menuCard.MenuItems)
     {
         MenuItems.Add(new MenuItemData(item));
     }
 }
 public ActionResult Edit([Bind(Include = "FoodId,Name,Description,QuantityPerUnit,UnitPrice,ImagePath,CategoryId")] MenuCard menuCard)
 {
     if (ModelState.IsValid)
     {
         db.Entry(menuCard).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("MenuItems"));
     }
     ViewBag.CategoryId = new SelectList(db.FoodCategories, "Id", "CategoryName", menuCard.CategoryId);
     return(View(menuCard));
 }
Esempio n. 14
0
 private void dataGridMenus_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
 {
     if (this.dataGridMenus.Columns[e.ColumnIndex].Name == "menuGroupDataGridViewTextBoxColumn")
     {
         if (e.Value != null)
         {
             MenuCard menu = (MenuCard)this.dataGridMenus.Rows[e.RowIndex].DataBoundItem;
             e.Value = menu.MenuGroup.GroupName;
         }
     }
 }
Esempio n. 15
0
        private void LinqVælgDrikkeOver40Ordnet(MenuCard mcard)
        {
            var liste =
                from d in mcard.Drinks
                orderby d.Price
                select d;

            foreach (var drink in liste)
            {
                Console.WriteLine(drink);
            }
        }
Esempio n. 16
0
        public async Task WriteMenuCardAsync(MenuCard menuCard)
        {
            StorageFolder folder = ApplicationData.Current.RoamingFolder;

            if (menuCard.IsDirty)
            {
                StorageFile storageFile = await folder.CreateFileAsync(string.Format("MenuCards{0}.xml", menuCard.Title), CreationCollisionOption.ReplaceExisting);
                await WriteMenuCardToFileAsync(menuCard, storageFile);

                menuCard.ClearDirty();
            }
        }
 public static string ToHtml(this MenuCard card)
 {
     return
         (new XElement("table",
                       new XElement("thead",
                                    new XElement("td", "Text"),
                                    new XElement("td", "Price"),
                                    card.MenuItems.Select(mi =>
                                                          new XElement("tr",
                                                                       new XElement("td", mi.Text),
                                                                       new XElement("td", mi.Price.ToString("C")))))).ToString());
 }
Esempio n. 18
0
        private void LinqVælgDrikkeOver40(MenuCard mcard)
        {
            var liste =
                from d in mcard.Drinks
                where d.Price > 40
                select d;

            foreach (var drink in liste)
            {
                Console.WriteLine(drink);
            }
        }
Esempio n. 19
0
        private void LinqVælgFlereProperty(MenuCard mcard)
        {
            // SQL : select Name, Price from Drink

            var liste =
                from d in mcard.Drinks
                select new { d.Name, d.Price };

            foreach (var v in liste)
            {
                Console.WriteLine($"Navn={v.Name} prisen er {v.Price}");
            }
        }
Esempio n. 20
0
        public ActionResult Edit(OrderDetail orderDetail)
        {
            if (ModelState.IsValid)
            {
                MenuCard mm = db.MenuCards.Find(orderDetail.FoodId);
                orderDetail.Price           = mm.UnitPrice * orderDetail.Quantity;
                db.Entry(orderDetail).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("cart"));
            }

            return(View(orderDetail));
        }
        // GET: MenuCards/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MenuCard menuCard = db.MenuCards.Find(id);

            if (menuCard == null)
            {
                return(HttpNotFound());
            }
            return(View(menuCard));
        }
Esempio n. 22
0
 private void PopulateDrinks(MenuCard mcard)
 {
     mcard.Drinks.Add(new Drink("rioja", "redwine", true, 56.8));
     mcard.Drinks.Add(new Drink("bourgone", "redwine", true, 49.5, 1));
     mcard.Drinks.Add(new Drink("bordeaux", "redwine", true, 116.8, 1));
     mcard.Drinks.Add(new Drink("alsace", "whitewine", true, 72.8, 2));
     mcard.Drinks.Add(new Drink("chile", "whitewine", true, 49));
     mcard.Drinks.Add(new Drink("cablis", "whitewine", true, 93.2));
     mcard.Drinks.Add(new Drink("provance", "rosewine", true, 70));
     mcard.Drinks.Add(new Drink("perrier", "water", false, 22));
     mcard.Drinks.Add(new Drink("rioja riserva", "redwine", true, 68, 1));
     mcard.Drinks.Add(new Drink("fanta", "softdrink", false, 18));
     mcard.Drinks.Add(new Drink("sprite", "softdrink", false, 18));
 }
Esempio n. 23
0
        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="navigationParameter">The parameter value passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested.
        /// </param>
        /// <param name="pageState">A dictionary of state preserved by this page during an earlier
        /// session.  This will be null the first time a page is visited.</param>
        protected override void LoadState(Object navigationParameter, Dictionary <String, Object> pageState)
        {
            // TODO: Assign a bindable collection of items to this.DefaultViewModel["Items"]

            card = navigationParameter as MenuCard;
            if (card != null)
            {
                // this.DefaultViewModel["Card"] = card; // some bug...
                this.DefaultViewModel["Items"] = card.MenuItems;

                sharing = new SharingContract();
                sharing.ShareMenuCard(card);
            }
        }
Esempio n. 24
0
        /// <summary>
        /// 保留与此页关联的状态,以防挂起应用程序或
        /// 从导航缓存中放弃此页。  值必须符合
        /// <see cref="SuspensionManager.SessionState"/> 的序列化要求。
        /// </summary>
        ///<param name="sender">事件的来源;通常为 <see cref="NavigationHelper"/></param>
        ///<param name="e">提供要使用可序列化状态填充的空字典
        ///的事件数据。</param>
        ///

        // 退出页面时会调用 保存添加的Card
        private async void navigationHelper_SaveState(object sender, SaveStateEventArgs e)
        {
            var mc = new MenuCard
            {
                Title       = info.Title,
                Description = info.Description,
                Image       = info.Image,
                ImagePath   = info.ImageFileName
            };

            MenuCardRepository.Instance.Cards.Add(mc);
            var storage = new MenuCardStorage();
            await storage.WriteMenuCardsAsync(MenuCardRepository.Instance.Cards.ToList());
        }
Esempio n. 25
0
        private void LinqVælgeFraTostrukturer(MenuCard mcard)
        {
            var liste =
                from d in mcard.Drinks
                join dish in mcard.Dishes on d.Recommended equals dish.Recommended
                where d.Recommended != -1
                orderby dish.Name
                select new { dish.Name, DrinkName = d.Name };

            foreach (var v in liste)
            {
                Console.WriteLine($"ret={v.Name} du bør drikke {v.DrinkName}");
            }
        }
        // GET: MenuCards/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MenuCard menuCard = db.MenuCards.Find(id);

            if (menuCard == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CategoryId = new SelectList(db.FoodCategories, "Id", "CategoryName", menuCard.CategoryId);
            return(View(menuCard));
        }
Esempio n. 27
0
 private void PopulateDish(MenuCard mcard)
 {
     mcard.Dishes.Add(new Dish("ministrone", "starter", 46));
     mcard.Dishes.Add(new Dish("ribeye", "main", 158, 1));
     mcard.Dishes.Add(new Dish("lasagne", "main", 95));
     mcard.Dishes.Add(new Dish("ice", "dessert", 38));
     mcard.Dishes.Add(new Dish("crepesuzette", "dessert", 55));
     mcard.Dishes.Add(new Dish("bananasplit", "dessert", 61));
     mcard.Dishes.Add(new Dish("scrimps", "starter", 71));
     mcard.Dishes.Add(new Dish("lopster", "starter", 137));
     mcard.Dishes.Add(new Dish("foiegras", "starter", 110));
     mcard.Dishes.Add(new Dish("chicken", "main", 98, 2));
     mcard.Dishes.Add(new Dish("meetloaf", "main", 88));
     mcard.Dishes.Add(new Dish("lambSteak", "main", 132, 1));
 }
Esempio n. 28
0
 public MenuCard ToMenuCard()
 {
   var menuCard = new MenuCard
   {
     Title = this.Title,
     Description = this.Description,
     ImagePath = this.ImagePath
   };
   foreach (MenuItemData item in this.MenuItems)
   {
     menuCard.MenuItems.Add(item.ToMenuItem());
   }
   menuCard.ClearDirty();
   return menuCard;
 }
        public static string ToText(this MenuCard card)
        {
            var sb = new StringBuilder();

            sb.AppendLine(card.Title);
            sb.AppendLine();
            sb.AppendLine(card.Description);
            sb.AppendLine();
            foreach (var menuItem in card.MenuItems)
            {
                sb.AppendFormat("{0}\t\t{1}", menuItem.Text, menuItem.Price);
                sb.AppendLine();
            }
            return(sb.ToString());
        }
Esempio n. 30
0
 public void AddDrink(MenuCard menuCard, int drinkID)
 {
     using (SqlConnection connection = new SqlConnection(CONNECTION_STRING))
     {
         connection.Open();
         using (SqlCommand cmd = connection.CreateCommand())
         {
             cmd.CommandText = "Insert Into dbo.MenucardDrinks(menuID, drinkid) values(@menuID, @drinkid)";
             //cmd.Parameters.AddWithValue("id", OrderLine.ID);
             cmd.Parameters.AddWithValue("menuID", menuCard.ID);
             cmd.Parameters.AddWithValue("drinkid", drinkID);
             cmd.ExecuteNonQuery();
         }
     }
 }