public async Task <IActionResult> Edit(int id, [Bind("Product,Categories,Suppliers")] ProductCreationViewModel productCreationViewModel) { if (id != productCreationViewModel.Product.ProductId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(productCreationViewModel.Product); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductsExists(productCreationViewModel.Product.ProductId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(Products)); }
public async Task <IActionResult> Post([FromBody] ProductCreationViewModel productVm) { if (productVm == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } var newItem = Mapper.Map <Product>(productVm); _productRepository.Add(newItem); if (!await UnitOfWork.SaveAsync()) { return(StatusCode(500, "保存时出错")); } var vm = Mapper.Map <ProductViewModel>(newItem); var links = CreateLinksForProduct(vm.Id); var dynamicObject = productVm.ToDynamic() as IDictionary <string, object>; dynamicObject.Add("links", links); return(CreatedAtRoute("GetProduct", new { id = dynamicObject["id"] }, dynamicObject)); }
// GET: Products/Create public async Task <IActionResult> Create() { var productCreationVM = new ProductCreationViewModel() { Product = new Products(), Categories = CategoryList, Suppliers = SupplierList }; return(View(productCreationVM)); }
public async Task <IActionResult> Create([Bind("Product,Categories,Suppliers")] ProductCreationViewModel productCreationViewModel) { var productAdding = productCreationViewModel.Product; if (ModelState.IsValid) { _context.Add(productAdding); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(productAdding)); }
public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var products = await _context.Products.FindAsync(id); if (products == null) { return(NotFound()); } var productCreationVM = new ProductCreationViewModel() { Product = products, Categories = CategoryList, Suppliers = SupplierList }; return(View(productCreationVM)); }
public async Task <IActionResult> Post([FromBody] ProductCreationViewModel productVm) { if (productVm == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var newItem = Mapper.Map <Product>(productVm); _productRepository.Add(newItem); if (!await UnitOfWork.SaveAsync()) { return(StatusCode(500, "保存时出错")); } var vm = Mapper.Map <ProductViewModel>(newItem); return(CreatedAtRoute("GetProduct", new { id = vm.Id }, vm)); }