public async Task <IActionResult> Edit(string id, [Bind("ProductId,ProductOwnerId,UserProfileId,Title,Description,Price")] Product product) { if (id != product.ProductId || !_userProfileManager.IsUserOwnProduct(User, product)) { return(NotFound()); } if (ModelState.IsValid) { try { await _productsManager.UpdateAsync(product); } catch (DbUpdateConcurrencyException) { if (!_productsManager.IsProductExists(product.ProductId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Products))); } return(View(product)); }