예제 #1
0
        // GET: Menu
        public ActionResult Index()
        {
            var dishesListModel = new DishesListViewModel();

            dishesListModel.Dishes = _dishService.GetAll();
            return(View(dishesListModel));
        }
예제 #2
0
        public ViewResult List()
        {
            DishesListViewModel obj = new DishesListViewModel();

            obj.allDishes       = _allDishes.Dishes;
            obj.currentCategory = "Menu";
            Console.WriteLine(_allDishes.Dishes);
            return(View(obj));
        }
예제 #3
0
        public IActionResult Get(DishSorting parameters)
        {
            var user      = _userService.Get(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            var allergies = user.Allergies.Select(source => source.AllergyId);

            parameters.Allergies = allergies;
            var items = _dishService.GetSorted(parameters);

            var dishesListViewModel = new DishesListViewModel
            {
                Filter = parameters,
                Dishes = items
            };

            return(View(dishesListViewModel));
        }
        public ViewResult List(string category, int page = 1)
        {
            DishesListViewModel model = new DishesListViewModel
            {
                Dishes = repository.Dishes
                         .Where(p => category == null || p.Category == category)
                         .OrderBy(dish => dish.DishId)
                         .Skip((page - 1) * pageSize)
                         .Take(pageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = pageSize,
                    TotalItems   = category == null?repository.Dishes.Count() : repository.Dishes.Where(dish => dish.Category == category).Count()
                },
                CurrentCategory = category
            };

            return(View(model));
        }
예제 #5
0
        public void Can_Send_Pagination_View_Model()
        {
            // Arrange
            Mock <IDishRepository> mock = new Mock <IDishRepository>();

            mock.Setup(m => m.Dishes).Returns(new List <Dish>
            {
                new Dish {
                    DishId = 1, Name = "Dish1"
                },
                new Dish {
                    DishId = 2, Name = "Dish2"
                },
                new Dish {
                    DishId = 3, Name = "Dish3"
                },
                new Dish {
                    DishId = 4, Name = "Dish4"
                },
                new Dish {
                    DishId = 5, Name = "Dish5"
                }
            });
            DishController controller = new DishController(mock.Object);

            controller.pageSize = 3;

            // Act
            DishesListViewModel result = (DishesListViewModel)controller.List(null, 2).Model;

            // Assert
            PagingInfo pageInfo = result.PagingInfo;

            Assert.AreEqual(pageInfo.CurrentPage, 2);
            Assert.AreEqual(pageInfo.ItemsPerPage, 3);
            Assert.AreEqual(pageInfo.TotalItems, 5);
            Assert.AreEqual(pageInfo.TotalPages, 2);
        }
예제 #6
0
        public void Can_Paginate()
        {
            // Arrange
            Mock <IDishRepository> mock = new Mock <IDishRepository>();

            mock.Setup(m => m.Dishes).Returns(new List <Dish>
            {
                new Dish {
                    DishId = 1, Name = "Dish1"
                },
                new Dish {
                    DishId = 2, Name = "Dish2"
                },
                new Dish {
                    DishId = 3, Name = "Dish3"
                },
                new Dish {
                    DishId = 4, Name = "Dish4"
                },
                new Dish {
                    DishId = 5, Name = "Dish5"
                }
            });
            DishController controller = new DishController(mock.Object);

            controller.pageSize = 3;

            // Act
            DishesListViewModel result = (DishesListViewModel)controller.List(null, 2).Model;

            // Asserts
            List <Dish> dishes = result.Dishes.ToList();

            Assert.IsTrue(dishes.Count == 2);
            Assert.AreEqual(dishes[0].Name, "Dish4");
            Assert.AreEqual(dishes[1].Name, "Dish5");
        }
예제 #7
0
        public void Can_Filter_Category()
        {
            //Arrange
            Mock <IDishRepository> mock = new Mock <IDishRepository>();

            mock.Setup(m => m.Dishes).Returns(new List <Dish>
            {
                new Dish {
                    DishId = 1, Name = "Dish1", Category = "Drink"
                },
                new Dish {
                    DishId = 2, Name = "Dish2", Category = "Food"
                },
                new Dish {
                    DishId = 3, Name = "Dish3", Category = "Food"
                },
                new Dish {
                    DishId = 4, Name = "Dish4", Category = "Drink"
                },
                new Dish {
                    DishId = 5, Name = "Dish5", Category = "Food"
                }
            });

            DishController controler = new DishController(mock.Object);

            //Act
            DishesListViewModel result = (DishesListViewModel)controler.List("Drink").Model;

            //Assert
            List <Dish> dishes = result.Dishes.ToList();

            Assert.AreEqual(result.CurrentCategory, "Drink");
            Assert.AreEqual(dishes.Count, 2);
            Assert.IsTrue(dishes[0].Name == "Dish1" && dishes[0].Category == "Drink");
            Assert.IsTrue(dishes[1].Name == "Dish4" && dishes[1].Category == "Drink");
        }
 private void Home_Click(object sender, RoutedEventArgs e)
 {
     DataContext   = new DishesListViewModel();
     Go.Visibility = Visibility.Visible;
 }
 public MainWindow()
 {
     InitializeComponent();
     DataContext = new DishesListViewModel();
 }
예제 #10
0
        public ViewResult List(string category)
        {
            string _category            = category;
            IEnumerable <Dishes> dishes = null;
            string dishesCategory       = "";

            if (string.IsNullOrEmpty(category))
            {
                dishes = iALLDisher.Dishes.OrderBy(i => i.id);
            }
            else
            {
                if (string.Equals("Салаты", category, StringComparison.OrdinalIgnoreCase))
                {
                    dishes         = iALLDisher.Dishes.Where(i => i.Category.categoreName.Equals("Салаты")).OrderBy(i => i.id);
                    dishesCategory = "Салаты";
                }
                else if (string.Equals("Завтрак", category, StringComparison.OrdinalIgnoreCase))
                {
                    dishes         = iALLDisher.Dishes.Where(i => i.Category.categoreName.Equals("Завтрак")).OrderBy(i => i.id);
                    dishesCategory = "Завтрак";
                }

                else if (string.Equals("Холодные закуски", category, StringComparison.OrdinalIgnoreCase))
                {
                    dishes         = iALLDisher.Dishes.Where(i => i.Category.categoreName.Equals("Холодные закуски")).OrderBy(i => i.id);
                    dishesCategory = "Холодные закуски";
                }

                else if (string.Equals("Горячие закуски", category, StringComparison.OrdinalIgnoreCase))
                {
                    dishes         = iALLDisher.Dishes.Where(i => i.Category.categoreName.Equals("Горячие закуски")).OrderBy(i => i.id);
                    dishesCategory = "Горячие закуски";
                }

                else if (string.Equals("Первое блюда", category, StringComparison.OrdinalIgnoreCase))
                {
                    dishes         = iALLDisher.Dishes.Where(i => i.Category.categoreName.Equals("Первое блюда")).OrderBy(i => i.id);
                    dishesCategory = "Первое блюда";
                }

                else if (string.Equals("Вторые блюда", category, StringComparison.OrdinalIgnoreCase))
                {
                    dishes         = iALLDisher.Dishes.Where(i => i.Category.categoreName.Equals("Вторые блюда")).OrderBy(i => i.id);
                    dishesCategory = "Вторые блюда";
                }
            }

            var dishesObj = new DishesListViewModel
            {
                allDishes    = dishes,
                currCategory = dishesCategory
            };



            ViewBag.Title = "Блюда";
            //DishesListViewModel obj = new DishesListViewModel();
            //obj.allDishes = iALLDisher.Dishes;
            //obj.currCategory = "Блюда";
            return(View(dishesObj));
        }