コード例 #1
0
ファイル: OrdersController.cs プロジェクト: mrhammami/Thesis
        /// <summary>
        /// A menü és rendelések listája, kategóriánként.
        /// Ha nincs megadva kategória, akkor mind megjelenik.
        /// </summary>
        /// <param name="dishCategory">A kért ételkategória.</param>
        /// <returns>Lista nézet.</returns>
        // GET: Orders
        public ActionResult Index(int?dishCategory = null)
        {
            AspNetUser currentUser    = db.AspNetUsers.Where(u => u.UserName == HttpContext.User.Identity.Name).FirstOrDefault();
            bool       hasCurrentUser = currentUser == null;

            if (hasCurrentUser)
            {
                return(RedirectToAction("Index", "Home"));
            }

            //Ha nincs erre a napra még menü, akkor csinálunk egyet, DEBUG miatt
            DateTime dt = DateTime.Now.Date;

            if (!db.DailyMenuHeads
                .Where(d => DbFunctions.TruncateTime(d.MenuDate) == dt)
                .Any())
            {
                DailyMenuHead mh = new DailyMenuHead()
                {
                    MenuDate = DateTime.Now, StatusID = 1
                };
                db.DailyMenuHeads.Add(mh);
                db.Entry(mh).State = EntityState.Added;
                db.SaveChanges();
                var menuDetailsToAdd = db.Dishes
                                       .Where(d => d.ID > 2 && d.ID < 41)
                                       .ToList();
                foreach (var item in menuDetailsToAdd)
                {
                    DailyMenuDetail md = new DailyMenuDetail()
                    {
                        MenuHeadID = mh.ID,
                        DishID     = item.ID
                    };
                    db.DailyMenuDetails.Add(md);
                    db.Entry(md).State = EntityState.Added;
                }
                db.SaveChanges();
            }

            OrdersAndMenuDetailsViewModel omdModel = new OrdersAndMenuDetailsViewModel();

            omdModel.Orders = db.Orders
                              .Where(o => o.IsOrdered == false &&
                                     DbFunctions.TruncateTime(o.DailyMenuHead.MenuDate) == dt &&
                                     o.UserID == currentUser.Id)
                              .Include(o => o.DailyMenuHead)
                              .Include(o => o.Dish)
                              .OrderBy(d => d.Dish.DishCategoryID);
            omdModel.MenuDetails = db.DailyMenuDetails
                                   .Include(d => d.DailyMenuHead)
                                   .Include(d => d.Dish)
                                   .Where(d => ((d.Dish.DishCategoryID == dishCategory) || (dishCategory == null)) &&
                                          DbFunctions.TruncateTime(d.DailyMenuHead.MenuDate) == dt)
                                   .OrderBy(d => d.Dish.DishCategoryID);
            omdModel.DisplayDishCategories = db.DishCategories
                                             .OrderBy(d => d.ID)
                                             .ToList();
            return(View(omdModel));
        }
コード例 #2
0
 public int InsertDailyMenuDetail(DailyMenuDetail entity)
 {
     dailyMenuDetails = db.GetTable <DailyMenuDetail>();
     dailyMenuDetails.InsertOnSubmit(entity);
     db.SubmitChanges();
     return(1);
 }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            DailyMenuDetail dailyMenuDetail = db.DailyMenuDetails.Find(id);

            db.DailyMenuDetails.Remove(dailyMenuDetail);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
 public ActionResult Edit([Bind(Include = "ID,DishID,MenuHeadID")] DailyMenuDetail dailyMenuDetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(dailyMenuDetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MenuHeadID = new SelectList(db.DailyMenuHeads, "ID", "ID", dailyMenuDetail.MenuHeadID);
     ViewBag.DishID     = new SelectList(db.Dishes, "ID", "Name", dailyMenuDetail.DishID);
     return(View(dailyMenuDetail));
 }
コード例 #5
0
        // GET: DailyMenuDetails/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DailyMenuDetail dailyMenuDetail = db.DailyMenuDetails.Find(id);

            if (dailyMenuDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(dailyMenuDetail));
        }
コード例 #6
0
 public bool Delete(DailyMenuDetail entity)
 {
     try
     {
         dailyMenuDetails = db.GetTable <DailyMenuDetail>();
         DailyMenuDetail obj = dailyMenuDetails.SingleOrDefault(x => x.DailyMenuID.Equals(entity.DailyMenuID) && x.DishID.Equals(entity.DishID));
         dailyMenuDetails.DeleteOnSubmit(obj);
         db.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
コード例 #7
0
        // GET: DailyMenuDetails/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DailyMenuDetail dailyMenuDetail = db.DailyMenuDetails.Find(id);

            if (dailyMenuDetail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MenuHeadID = new SelectList(db.DailyMenuHeads, "ID", "ID", dailyMenuDetail.MenuHeadID);
            ViewBag.DishID     = new SelectList(db.Dishes, "ID", "Name", dailyMenuDetail.DishID);
            return(View(dailyMenuDetail));
        }
コード例 #8
0
 public bool InsertListDailyMenuDetail(List <DailyMenuDetail> listEntity)
 {
     try
     {
         DeleteAllDailyMenuDetailByDailyMenuID(listEntity[0].DailyMenuID);
         foreach (DailyMenuDetail item in listEntity)
         {
             DailyMenuDetail entity = new DailyMenuDetail();
             entity.DailyMenuID = item.DailyMenuID;
             entity.DishID      = item.DishID;
             entity.Status      = true;
             if (InsertDailyMenuDetail(entity) <= 0)
             {
                 return(false);
             }
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }