Exemple #1
0
        public async Task <IActionResult> PostMenuItem(string name, string ingredients, string allergens, uint totalQuantity, decimal price, bool availability, int menuId)
        {
            var getMenu =
                from menuResult in RestaurantDomainEx.GetMenu(menuId)
                select menuResult;
            var menuAgg = await _interpreter.Interpret(getMenu, Unit.Default);

            return(Ok(RestaurantDomain.CreateMenuItem(menuAgg.Menu, name, ingredients, allergens, totalQuantity, price, availability)));
        }
        public async Task <IActionResult> GetMenuItems(int menuId)
        {
            var getMenuExpr =
                from menuResult in RestaurantDomain.GetMenu(menuId)
                select menuResult;
            var menu = await _interpreter.Interpret(getMenuExpr, Unit.Default);

            var getMenu =
                from menuResult in RestaurantDomainEx.GetMenu(menuId)
                select menuResult;
            var menuAgg = await _interpreter.Interpret(getMenu, Unit.Default);

            var getMenuItemsExpr =
                from menuItemsResult in RestaurantDomainEx.GetMenuItems(menuAgg.Menu)
                select menuItemsResult;
            var menuItems = await _interpreter.Interpret(getMenuItemsExpr, Unit.Default);

            return(menu.Match(
                       found => (IActionResult)Ok(found.Agg.Menu.MenuItems),
                       notFound => NotFound()));
        }