Пример #1
0
        public void TestUpdateMenuAsync()
        {
            ContextSeeders.Seed();
            var mbo     = new MenuBusinessObject();
            var resList = mbo.List();
            var item    = resList.Result.FirstOrDefault();

            var rbo    = new RestaurantBusinessObject();
            var mealbo = new MealBusinessObject();

            var restaurant = new Restaurant("a", "b", "c", "d", "f", 6);
            var meal       = new Meal("a", "b", "c");

            rbo.Create(restaurant);
            mealbo.Create(meal);

            var newMenu = new Menu(DateTime.Now, restaurant.Id, meal.Id);

            item.Date         = newMenu.Date;
            item.RestaurantId = newMenu.RestaurantId;
            item.MealId       = newMenu.MealId;

            var resUpdate = mbo.UpdateAsync(item).Result;

            resList = mbo.ListAsync().Result;

            Assert.IsTrue(resList.Success && resUpdate.Success &&
                          resList.Result.First().Date == newMenu.Date && resList.Result.First().RestaurantId == newMenu.RestaurantId &&
                          resList.Result.First().MealId == newMenu.MealId);
        }
Пример #2
0
        public void TestListMenuAsync()
        {
            RestaurantSeeder.Seed();
            var bo      = new MenuBusinessObject();
            var resList = bo.ListAsync().Result;

            Assert.IsTrue(resList.Success && resList.Result.Count > 0);
        }
Пример #3
0
        public void TestListMenuAsync()
        {
            ContextSeeders.Seed();
            var bo      = new MenuBusinessObject();
            var resList = bo.ListAsync().Result;

            Assert.IsTrue(resList.Success && resList.Result.Count == 1);
        }
Пример #4
0
        public void TestDeleteMenuAsync()
        {
            RestaurantSeeder.Seed();
            var bo        = new MenuBusinessObject();
            var resList   = bo.ListAsync().Result;
            var resDelete = bo.DeleteAsync(resList.Result.First().Id).Result;
            var total     = resList.Result.Count;

            resList = bo.ListNonDeletedAsync().Result;
            Assert.IsTrue(resDelete.Success && resList.Success && resList.Result.Count == total - 1);
        }
Пример #5
0
        public void TestDeleteMenuAsync()
        {
            ContextSeeders.Seed();
            var bo = new MenuBusinessObject();

            var resList   = bo.List();
            var resDelete = bo.DeleteAsync(resList.Result.First().Id).Result;

            resList = bo.ListAsync().Result;

            Assert.IsTrue(resDelete.Success && resList.Success && resList.Result.First().IsDeleted);
        }
Пример #6
0
        public void TestUpdateMenuAsync()
        {
            RestaurantSeeder.Seed();
            var bo      = new MenuBusinessObject();
            var resList = bo.ListAsync().Result;
            var item    = resList.Result.FirstOrDefault();
            var now     = DateTime.Now;

            item.Date = now;
            var resUpdate = bo.UpdateAsync(item).Result;

            resList = bo.ListNonDeletedAsync().Result;
            Assert.IsTrue(resList.Success && resUpdate.Success && resList.Result.First().Date == now);
        }
Пример #7
0
        public void TestUpdateServingAsync()
        {
            RestaurantSeeder.Seed();
            var bo        = new ServingBusinessObject();
            var mbo       = new MenuBusinessObject();
            var resList   = bo.ListAsync().Result;
            var item      = resList.Result.FirstOrDefault();
            var newMenuId = mbo.ListAsync().Result.Result.First(x => x.Id != item.MenuId).Id;

            item.MenuId = newMenuId;
            var resUpdate = bo.UpdateAsync(item).Result;

            resList = bo.ListNonDeletedAsync().Result;
            Assert.IsTrue(resList.Success && resUpdate.Success && resList.Result.First().MenuId == newMenuId);
        }
Пример #8
0
        public void TestCreateAndListServingAsync()
        {
            RestaurantSeeder.Seed();
            var cbo = new CourseBusinessObject();
            var dbo = new DishBusinessObject();
            var mbo = new MenuBusinessObject();
            var sbo = new ServingBusinessObject();

            var c = cbo.ListAsync().Result.Result.First();
            var d = dbo.ListAsync().Result.Result.First();
            var m = mbo.ListAsync().Result.Result.First();

            var dr        = new Serving(m.Id, d.Id, c.Id);
            var resCreate = sbo.CreateAsync(dr).Result;
            var resGet    = sbo.ReadAsync(dr.Id).Result;

            Assert.IsTrue(resCreate.Success && resGet.Success && resGet.Result != null);
        }
Пример #9
0
        public async Task <IActionResult> Index()
        {
            var menuOfTheDay = new MenuOfTheDayViewModel();

            var menuListOperation = await _menubo.ListAsync();

            if (!menuListOperation.Success)
            {
                return(View("Error"));
            }
            if (menuListOperation.Result.Count == 0)
            {
                return(View("Error"));
            }

            var servingListOperation = await _sbo.ListAsync();

            if (!servingListOperation.Success)
            {
                return(View("Error"));
            }
            if (servingListOperation.Result.Count == 0)
            {
                return(View("Error"));
            }

            var dishListOperation = await _dbo.ListAsync();

            if (!dishListOperation.Success)
            {
                return(View("Error"));
            }
            if (dishListOperation.Result.Count == 0)
            {
                return(View("Error"));
            }

            var dietaryRestrictionListOperation = await _drbo.ListAsync();

            if (!dietaryRestrictionListOperation.Success)
            {
                return(View("Error"));
            }
            if (dietaryRestrictionListOperation.Result.Count == 0)
            {
                return(View("Error"));
            }

            var mealListOperation = await _mealbo.ListAsync();

            if (!mealListOperation.Success)
            {
                return(View("Error"));
            }
            if (mealListOperation.Result.Count == 0)
            {
                return(View("Error"));
            }

            var courseListOperation = await _cbo.ListAsync();

            if (!courseListOperation.Success)
            {
                return(View("Error"));
            }
            if (courseListOperation.Result.Count == 0)
            {
                return(View("Error"));
            }


            foreach (var serving in servingListOperation.Result)
            {
                var course = courseListOperation.Result.First(x => x.Id == serving.CourseId);
                var dish   = dishListOperation.Result.First(x => x.Id == serving.DishId);
                var menu   = menuListOperation.Result.First(x => x.Id == serving.MenuId);
                var dr     = dietaryRestrictionListOperation.Result.First(x => x.Id == dish.DietaryRestrictionId);
                var meal   = mealListOperation.Result.First(x => x.Id == menu.MealId);

                if (meal.Menus == null)
                {
                    meal.Menus = new List <Menu>();
                }
                meal.Menus.Add(menu);
                menu.Meal = meal;

                if (menu.Servings == null)
                {
                    menu.Servings = new List <Serving>();
                }
                menu.Servings.Add(serving);
                serving.Menu = menu;

                if (dr.Dishes == null)
                {
                    dr.Dishes = new List <Dish>();
                }
                dr.Dishes.Add(dish);
                dish.DietaryRestriction = dr;

                if (dish.Servings == null)
                {
                    dish.Servings = new List <Serving>();
                }
                dish.Servings.Add(serving);
                serving.Dish = dish;

                if (course.Servings == null)
                {
                    course.Servings = new List <Serving>();
                }
                course.Servings.Add(serving);
                serving.Course = course;
            }

            List <ItemOnMenuOfTheDayViewModel> items = new List <ItemOnMenuOfTheDayViewModel>();

            foreach (var dr in dietaryRestrictionListOperation.Result)
            {
                var drvm = DietaryRestrictionViewModel.Parse(dr);
                foreach (var dish in dr.Dishes)
                {
                    var dishvm = DishViewModel.Parse(dish);
                    items.Add(new ItemOnMenuOfTheDayViewModel()
                    {
                        DietaryRestriction = drvm, Dish = dishvm
                    });
                }
            }

            return(View(menuOfTheDay));
        }