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); }