// GET: Productos/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Productos productos = await db.Productos.FindAsync(id); CreateProductosViewModel prod = new CreateProductosViewModel { IdProducto = productos.IdProducto, ProductoTitulo = productos.ProductoTitulo, ProdutoDescripcion = productos.ProdutoDescripcion, ProductoPrecio = productos.ProductoPrecio, ProductStock = productos.ProductStock, CategoryKey = productos.CategoryKey, UnidadesId = productos.UnidadesId }; if (productos == null) { return(HttpNotFound()); } ViewBag.CategoryKey = new SelectList(db.Categories, "CategoryKey", "CotegoryName", productos.CategoryKey); ViewBag.UnidadesId = new SelectList(db.Unidades, "UnidadesId", "UnidadesNombre", productos.UnidadesId); return(View(prod)); }
public async Task <ActionResult> Create(CreateProductosViewModel productos) { if (ModelState.IsValid) { Productos newProduct = null; if (productos.ProductoImagenes.ElementAt(0) == null) { newProduct = new Productos { ProductoTitulo = productos.ProductoTitulo, ProdutoDescripcion = productos.ProdutoDescripcion, ProductoPrecio = productos.ProductoPrecio, ProductStock = productos.ProductStock, CategoryKey = productos.CategoryKey, UnidadesId = productos.UnidadesId, ProductoImagenes = "/img/noimage.jpg" }; db.Productos.Add(newProduct); await db.SaveChangesAsync(); } else { newProduct = new Productos { ProductoTitulo = productos.ProductoTitulo, ProdutoDescripcion = productos.ProdutoDescripcion, ProductoPrecio = productos.ProductoPrecio, ProductStock = productos.ProductStock, CategoryKey = productos.CategoryKey, UnidadesId = productos.UnidadesId, ProductoImagenes = "/img/" + Path.GetFileName(productos.ProductoImagenes.ElementAt(0).FileName) }; db.Productos.Add(newProduct); await db.SaveChangesAsync(); } string uniqueName = null; if (productos.ProductoImagenes.ElementAt(0) != null) { for (int i = 0; i < productos.ProductoImagenes.Count(); i++) { var fileName = Path.GetFileName(productos.ProductoImagenes.ElementAt(i).FileName); string pa = Server.MapPath("/img").ToString(); var Filepath = Path.Combine(Server.MapPath("/img"), fileName); productos.ProductoImagenes.ElementAt(i).SaveAs(Filepath); uniqueName = "/img/" + fileName; var imagen = new ImagenProducto { urlImagen = uniqueName, IdProducto = newProduct.IdProducto }; db.ImagenesProductos.Add(imagen); await db.SaveChangesAsync(); } } else { var imagen = new ImagenProducto { urlImagen = "/img/noimage.jpg", IdProducto = newProduct.IdProducto }; db.ImagenesProductos.Add(imagen); await db.SaveChangesAsync(); } return(RedirectToAction("Index")); } ViewBag.CategoryKey = new SelectList(db.Categories, "CategoryKey", "CotegoryName", productos.CategoryKey); ViewBag.UnidadesId = new SelectList(db.Unidades, "UnidadesId", "UnidadesNombre", productos.UnidadesId); return(View(productos)); }
public async Task <ActionResult> Edit(CreateProductosViewModel productos) { if (ModelState.IsValid) { Productos newProduct = null; if (productos.ProductoImagenes.ElementAt(0) == null) { newProduct = new Productos { IdProducto = productos.IdProducto, ProductoTitulo = productos.ProductoTitulo, ProdutoDescripcion = productos.ProdutoDescripcion, ProductoPrecio = productos.ProductoPrecio, ProductStock = productos.ProductStock, CategoryKey = productos.CategoryKey, UnidadesId = productos.UnidadesId, ProductoImagenes = "/img/noimage.jpg" }; } else { newProduct = new Productos { IdProducto = productos.IdProducto, ProductoTitulo = productos.ProductoTitulo, ProdutoDescripcion = productos.ProdutoDescripcion, ProductoPrecio = productos.ProductoPrecio, ProductStock = productos.ProductStock, CategoryKey = productos.CategoryKey, UnidadesId = productos.UnidadesId, ProductoImagenes = "/img/" + Path.GetFileName(productos.ProductoImagenes.ElementAt(0).FileName) }; } db.Entry(newProduct).State = EntityState.Modified; await db.SaveChangesAsync(); string uniqueName = null; if (productos.ProductoImagenes.ElementAt(0) != null) { //borrar imagenes que ya estaban almacenadas var ima = db.ImagenesProductos.Where(x => x.IdProducto == newProduct.IdProducto); foreach (var item in ima) { if (item.IdProducto == newProduct.IdProducto) { db.ImagenesProductos.Remove(item); //await db.SaveChangesAsync(); } } for (int i = 0; i < productos.ProductoImagenes.Count(); i++) { var fileName = Path.GetFileName(productos.ProductoImagenes.ElementAt(i).FileName); string pa = Server.MapPath("/img").ToString(); var Filepath = Path.Combine(Server.MapPath("/img"), fileName); productos.ProductoImagenes.ElementAt(i).SaveAs(Filepath); uniqueName = "/img/" + fileName; var imagen = new ImagenProducto { urlImagen = uniqueName, IdProducto = newProduct.IdProducto }; db.ImagenesProductos.Add(imagen); await db.SaveChangesAsync(); } } else { var imagen = new ImagenProducto { urlImagen = "/img/noimage.jpg", IdProducto = newProduct.IdProducto }; db.ImagenesProductos.Add(imagen); await db.SaveChangesAsync(); } return(RedirectToAction("Index")); } ViewBag.CategoryKey = new SelectList(db.Categories, "CategoryKey", "CotegoryName", productos.CategoryKey); ViewBag.UnidadesId = new SelectList(db.Unidades, "UnidadesId", "UnidadesNombre", productos.UnidadesId); return(View(productos)); }