public void TestListDietaryRestrictionAsync()
        {
            RestaurantSeeder.SeedCountries();
            var bo      = new DietaryRestrictionBusinessObject();
            var resList = bo.ListAsync().Result;

            Assert.IsTrue(resList.Success && resList.Result.Count == 1);
        }
Example #2
0
        public async Task <IActionResult> Index()
        {
            var listOperation = await _bo.ListAsync();

            if (!listOperation.Success)
            {
                return(View("Error", new ErrorViewModel()
                {
                    RequestId = listOperation.Exception.Message
                }));
            }
            var drListOperation = await _drbo.ListAsync();

            if (!drListOperation.Success)
            {
                return(View("Error", new ErrorViewModel()
                {
                    RequestId = drListOperation.Exception.Message
                }));
            }

            var dishLst = new List <DishViewModel>();

            foreach (var item in listOperation.Result)
            {
                if (!item.IsDeleted)
                {
                    dishLst.Add(DishViewModel.Parse(item));
                }
            }

            var drLst = new List <DietaryRestrictionViewModel>();

            foreach (var item in drListOperation.Result)
            {
                if (!item.IsDeleted)
                {
                    drLst.Add(DietaryRestrictionViewModel.Parse(item));
                }
            }

            ViewBag.DietaryRestrictions = drLst;
            return(View(dishLst));
        }
        public void TestDeleteDietaryRestrictionAsync()
        {
            RestaurantSeeder.SeedCountries();
            var bo        = new DietaryRestrictionBusinessObject();
            var resList   = bo.ListAsync().Result;
            var resDelete = bo.DeleteAsync(resList.Result.First().Id).Result;

            resList = bo.ListUnDeletedAsync().Result;
            Assert.IsTrue(resDelete.Success && resList.Success && resList.Result.Count == 0);
        }
Example #4
0
        public void TestCreateAndListDishAsync()
        {
            RestaurantSeeder.Seed();
            var dbo  = new DishBusinessObject();
            var drbo = new DietaryRestrictionBusinessObject();
            var firstDietaryRestriction = drbo.ListAsync().Result.Result.First();
            var dr        = new Dish("Vegetarian", firstDietaryRestriction.Id);
            var resCreate = dbo.CreateAsync(dr).Result;
            var resGet    = dbo.ReadAsync(dr.Id).Result;

            Assert.IsTrue(resCreate.Success && resGet.Success && resGet.Result != null);
        }
Example #5
0
        public void TestDeleteDietaryRestrictionAsync()
        {
            ContextSeeders.Seed();
            var bo = new DietaryRestrictionBusinessObject();

            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);
        }
        public void TestUpdateDietaryRestrictionAsync()
        {
            RestaurantSeeder.SeedCountries();
            var bo      = new DietaryRestrictionBusinessObject();
            var resList = bo.ListAsync().Result;
            var item    = resList.Result.FirstOrDefault();

            item.Name = "another";
            var resUpdate = bo.UpdateAsync(item).Result;

            resList = bo.ListUnDeletedAsync().Result;
            Assert.IsTrue(resList.Success && resUpdate.Success && resList.Result.First().Name == "another");
        }
Example #7
0
        public void TestUpdateDietaryRestrictionAsync()
        {
            ContextSeeders.Seed();
            var mbo     = new DietaryRestrictionBusinessObject();
            var resList = mbo.List();
            var item    = resList.Result.FirstOrDefault();

            var newDietaryRestriction = new DietaryRestriction("Vegan");

            item.Name = newDietaryRestriction.Name;


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

            resList = mbo.ListAsync().Result;

            Assert.IsTrue(resList.Success && resUpdate.Success &&
                          resList.Result.First().Name == newDietaryRestriction.Name);
        }
Example #8
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));
        }