コード例 #1
0
            public void TestListServingAsync()
            {
                ContextSeeders.Seed();
                var bo      = new ServingBusinessObject();
                var resList = bo.ListAsync().Result;

                Assert.IsTrue(resList.Success && resList.Result.Count == 1);
            }
コード例 #2
0
        public void TestListServing()
        {
            RestaurantSeeder.Seed();
            var bo      = new ServingBusinessObject();
            var resList = bo.ListAsync().Result;
            var total   = resList.Result.Count;

            Assert.IsTrue(resList.Success && resList.Result.Count > 0);
        }
コード例 #3
0
        public void TestDeleteServingAsync()
        {
            RestaurantSeeder.Seed();
            var bo        = new ServingBusinessObject();
            var resList   = bo.ListAsync().Result;
            var total     = resList.Result.Count;
            var resDelete = bo.DeleteAsync(resList.Result.First().Id).Result;

            resList = bo.ListNonDeletedAsync().Result;
            Assert.IsTrue(resDelete.Success && resList.Success && resList.Result.Count == total - 1);
        }
コード例 #4
0
            public void TestDeleteServingAsync()
            {
                ContextSeeders.Seed();
                var bo = new ServingBusinessObject();

                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);
            }
コード例 #5
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);
        }
コード例 #6
0
            public void TestUpdateServingAsync()
            {
                ContextSeeders.Seed();
                var sbo     = new ServingBusinessObject();
                var resList = sbo.List();
                var item    = resList.Result.FirstOrDefault();

                var rbo    = new RestaurantBusinessObject();
                var mealbo = new MealBusinessObject();
                var drbo   = new DietaryRestrictionBusinessObject();
                var mbo    = new MenuBusinessObject();
                var cbo    = new CourseBusinessObject();
                var dbo    = new DishBusinessObject();

                var restaurant = new Restaurant("a", "b", "c", "d", "f", 6);
                var meal       = new Meal("a", "b", "c");
                var dr         = new DietaryRestriction("ok");
                var menu       = new Menu(DateTime.Now, restaurant.Id, meal.Id);
                var course     = new Course("yes");
                var dish       = new Dish("uh", dr.Id);

                rbo.Create(restaurant);
                mealbo.Create(meal);
                drbo.Create(dr);
                mbo.Create(menu);
                cbo.Create(course);
                dbo.Create(dish);

                var newServing = new Serving(menu.Id, course.Id, dish.Id);

                item.MenuId   = newServing.MenuId;
                item.CourseId = newServing.CourseId;
                item.DishId   = newServing.DishId;

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

                resList = sbo.ListAsync().Result;

                Assert.IsTrue(resList.Success && resUpdate.Success &&
                              resList.Result.First().MenuId == newServing.MenuId && resList.Result.First().CourseId == newServing.CourseId &&
                              resList.Result.First().DishId == newServing.DishId);
            }
コード例 #7
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));
        }