Example #1
0
        public async Task <IActionResult> EditGroceryItem(EditGroceryItemViewModel vm)
        {
            GroceryItem editedGroceryItem = Context.GroceryItems.Single(c => c.ID == vm.GroceryId);

            var isAuthorized = await AuthorizationService.AuthorizeAsync(
                User, editedGroceryItem, FoodOperations.Update);

            var currentUserId = UserManager.GetUserId(User);

            if (!isAuthorized.Succeeded)
            {
                return(Forbid());
            }

            if (ModelState.IsValid)
            {
                editedGroceryItem.Name        = vm.Name;
                editedGroceryItem.GroceryNote = vm.GroceryNote;

                Context.SaveChanges();
                return(Redirect("/Grocery"));
            }

            EditGroceryItemViewModel newEditViewModel = new EditGroceryItemViewModel(editedGroceryItem);

            newEditViewModel.GroceryList = Context.GroceryItems.Where(g => g.IsInPantry == false).Where(g => g.UserID == currentUserId).ToList();

            return(View(newEditViewModel));
        }
Example #2
0
        public async Task <IActionResult> EditGroceryItem(int groceryId)
        {
            var currentUserId = UserManager.GetUserId(User);

            GroceryItem grocItem = Context.GroceryItems.Single(g => g.ID == groceryId);

            var isAuthorized = await AuthorizationService.AuthorizeAsync(
                User, grocItem, FoodOperations.Update);

            if (!isAuthorized.Succeeded)
            {
                return(Forbid());
            }

            EditGroceryItemViewModel vm = new EditGroceryItemViewModel(grocItem);

            vm.GroceryList = Context.GroceryItems.Where(g => g.IsInPantry == false).Where(g => g.UserID == currentUserId).ToList();

            return(View(vm));
        }