public IActionResult CreateCategory(MenuDetailsViewModel viewModel)
        {
            var userID       = HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var menu         = _menuManager.GetMenuByID(viewModel.Menu.ID);
            var categoryName = viewModel.Category.Name;

            _menuManager.CreateCategory(categoryName, menu, userID);
            return(RedirectToAction(nameof(Details), new { id = menu.ID }));
        }
        // GET
        public IActionResult CreateCategory(int?menuID)
        {
            if (menuID == null)
            {
                return(NotFound());
            }
            var viewModel = new MenuDetailsViewModel();

            viewModel.Menu = _menuManager.GetMenuByID(menuID.Value);
            return(View(viewModel));
        }
        // GET: Menus/Details/5
        public IActionResult Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var menu = _menuManager.GetMenuByID(id.Value);

            if (menu == null)
            {
                return(NotFound());
            }
            MenuDetailsViewModel viewModel = new MenuDetailsViewModel();

            viewModel.Menu       = menu;
            viewModel.Categories = _menuManager.GetAllCategoriesByMenu(menu);
            viewModel.MenuItems  = _menuManager.GetAllMenuItemsByMenu(menu);

            return(View(viewModel));
        }
        public IActionResult CreateMenuItem(MenuDetailsViewModel viewModel)
        {
            var userID   = HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var menu     = _menuManager.GetMenuByID(viewModel.Menu.ID);
            var category = _menuManager.GetCategoryByID(viewModel.Category.ID);

            try
            {
                var itemName        = viewModel.MenuItem.Name;
                var itemDescription = viewModel.MenuItem.Description;
                var itemPrice       = viewModel.MenuItem.Price;
                _menuManager.CreateMenuItem(itemName, itemDescription, itemPrice, category, menu, userID);
                return(RedirectToAction(nameof(Details), new { id = menu.ID }));
            }
            catch (ArgumentOutOfRangeException)
            {
                ViewBag.ErrorMessage = "Price cannot negative";
                var newViewModel = new MenuDetailsViewModel();
                newViewModel.Menu     = menu;
                newViewModel.Category = category;
                return(View(newViewModel));
            }
        }
 public MenuDetailPage()
 {
     InitializeComponent();
     BindingContext = new MenuDetailsViewModel();
 }