public async Task <IActionResult> Edit(int id, Product product) { if (!ModelState.IsValid) { var categories = await _categoryService.FindAllAsync(); var viewModel = new ProductsFormViewModel { Product = product, Categories = categories }; return(View(viewModel)); } if (id != product.Id) { return(RedirectToAction(nameof(Error), new { message = "Id incompativel." })); } try { await _productService.UpdateAsync(product); return(RedirectToAction(nameof(Index))); } catch (ApplicationException e) { return(RedirectToAction(nameof(Error), new { message = e.Message })); } }
// GET: Products/Create public async Task <IActionResult> Create() { var categories = await _categoryService.FindAllAsync(); var viewModel = new ProductsFormViewModel { Categories = categories }; return(View(viewModel)); }
public async Task <IActionResult> Create([Bind("Name, Description, Quantity, Price, IdCategory")] Product product) { if (!ModelState.IsValid) { var categories = await _categoryService.FindAllAsync(); var viewModel = new ProductsFormViewModel { Product = product, Categories = categories }; return(View(viewModel)); } await _productService.InsertAsync(product); return(RedirectToAction(nameof(Index))); }
// GET: Products/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(RedirectToAction(nameof(Error), new { message = "Id não encontrado." })); } var product = await _productService.FindByIdAsync(id.Value); if (product == null) { return(RedirectToAction(nameof(Error), new { message = "Id não encontrado." })); } List <Category> categories = await _categoryService.FindAllAsync(); ProductsFormViewModel viewModel = new ProductsFormViewModel { Product = product, Categories = categories }; return(View(viewModel)); }