示例#1
0
        private List <MenuCategoryViewModel> MapToViewModel(IEnumerable <Dish> dishes)
        {
            var result = new List <MenuCategoryViewModel>();

            foreach (var item in dishes.GroupBy(b => new { b.Category, b.SubCategory }))
            {
                MenuCategoryViewModel menuCategoryViewModel = result.FirstOrDefault(r => r.Title.ToTitleForStore() == item.Key.Category);

                if (menuCategoryViewModel == null)
                {
                    menuCategoryViewModel = new MenuCategoryViewModel {
                        Title = item.Key.Category.ToTitleForView()
                    };
                    result.Add(menuCategoryViewModel);
                }

                menuCategoryViewModel.SubCategories.Add(new SubCategory
                {
                    Title          = item.Key.SubCategory.ToTitleForView(),
                    DishViewModels = item.Select(dish => new DishViewModel
                    {
                        Title         = dish.Title.ToTitleForView(),
                        EstimatedTime = dish.EstimatedTime,
                        Ingredients   = dish?.Ingredients,
                        Id            = dish.Id.ToString(),
                        Price         = dish.Price,
                        Description   = dish.Description
                    }).ToList()
                });
            }

            return(result);
        }
示例#2
0
        public PartialViewResult MenuCategory(string category = "all", string status = "all")
        {
            var model = new MenuCategoryViewModel
            {
                Categories = repository.Table
                             .Select(x => x.Category)
                             .Distinct()
                             .OrderBy(x => x),
                CurrentStatus = status
            };

            return(PartialView(model));
        }
        public Task <IViewComponentResult> InvokeAsync()
        {
            //Truy vấn lấy về 1 list các sản phẩm
            IEnumerable <Category> categories = _categoryRepository.GetSome(x => x.IsDeleted == false);
            //return Task.FromResult<IViewComponentResult>(View("Default", categories));
            var menus = new MenuCategoryViewModel
            {
                ParentCategories = _categoryRepository.GetSome(x => x.IsDeleted == false && x.ParentId == null).OrderBy(y => y.SortOrder),
                ChildCategories  = _categoryRepository.GetSome(x => x.IsDeleted == false && x.ParentId != null).OrderBy(y => y.SortOrder)
            };

            return(Task.FromResult <IViewComponentResult>(View("Default", menus)));
        }
示例#4
0
        public static MenuCategoryViewModel ToModel(this MenuCategoryEntity entity)
        {
            var model = new MenuCategoryViewModel()
            {
                Category = entity.Category,
                ImgUrl   = entity.ImgUrl,
                Id       = entity.Id
            };

            model.MenuItems = entity.Items.ToModel(entity);

            return(model);
        }
示例#5
0
        public ActionResult Create(MenuCategoryViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "In forms is error, please correct your data.");
                return(View());
            }
            var menuCategory = new MenuCategory()
            {
                Name     = model.Name,
                Position = model.Position
            };

            _repository.Add(menuCategory);
            _repository.Save();
            TempData["Message"] = "The menu category: " + menuCategory.Name + " has been added.";
            return(RedirectToAction("Manage", "MenuCategory"));
        }
示例#6
0
        public ActionResult Edit(MenuCategoryViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Model is not valid.");
                return(View());
            }
            var menuCategory = new MenuCategory
            {
                Id       = model.Id,
                Name     = model.Name,
                Position = model.Position
            };

            _repository.Update(menuCategory);
            _repository.Save();
            TempData["Message"] = "The menu category: " + model.Name + " has been changed.";
            return(RedirectToAction("Manage", "MenuCategory"));
        }
示例#7
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var menuCategory = _repository.GetById(id);

            if (menuCategory == null)
            {
                return(HttpNotFound());
            }
            MenuCategoryViewModel model = new MenuCategoryViewModel
            {
                Id       = menuCategory.Id,
                Name     = menuCategory.Name,
                Position = menuCategory.Position
            };

            return(View(model));
        }