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