示例#1
0
        public async Task <MenuCategories> AddMenuCategoryAsync(long ownerId, long restaurantId, Dictionary <long, string> categoryName, Dictionary <long, string> categoryDescription)
        {
            CheckTheLoggedInPerson();

            EmployersRestaurants connection = await CheckEmployerRestaurantAsync(ownerId, restaurantId);

            Menus currentMenu = await CheckMenuExistanceAsync(restaurantId);

            List <MenuLanguages> menuLanguages = await MenuLanguagesRepo.GetItemsByMenuId(currentMenu.Id);

            MenuCategories menuCat = new MenuCategories();
            await MenuCategoriesRepo.AddAsync(menuCat, this.ModifierId);

            foreach (var menuLang in menuLanguages)
            {
                bool checkName = categoryName.TryGetValue(menuLang.Id, out string name);
                categoryDescription.TryGetValue(menuLang.Id, out string description);

                if (!checkName)
                {
                    name = "<< no name >>";
                }

                Categories cat = new Categories
                {
                    CategoryName        = name,
                    CategoryDescription = description,
                    MenuLanguageId      = menuLang.Id,
                    MenuCategoryId      = menuCat.Id
                };

                await CategoriesRepo.AddAsync(cat, this.ModifierId);
            }

            return(menuCat);
        }