public ActionResult Create(ProductoViewModel productoViewModel) { if (ModelState.IsValid) { using (var transaction = db.Database.BeginTransaction()) { try { var producto = ToModel(productoViewModel); db.Productos.Add(producto); db.SaveChanges(); if (productoViewModel.ArchivoImagen != null) { var folder = "~/Content/Productos"; var file = $"{producto.ProductoId}.jpg"; var response = FileHelper.UploadPhoto(productoViewModel.ArchivoImagen, folder, file); if (response) { var pic = $"{folder}/{file}"; producto.Imagen = pic; db.Entry(producto).State = EntityState.Modified; db.SaveChanges(); } } transaction.Commit(); return(RedirectToAction("Index")); } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.Contains("IX")) { transaction.Rollback(); ModelState.AddModelError(string.Empty, "Este Producto ya existe."); } else { transaction.Rollback(); ModelState.AddModelError(string.Empty, ex.Message); ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", productoViewModel.CategoriaId); ViewBag.MarcaId = new SelectList(CombosHelper.GetMarcas(), "MarcaId", "Nombre", productoViewModel.MarcaId); ViewBag.SubCategoriaId = new SelectList(CombosHelper.GetSubCategorias(productoViewModel.CategoriaId), "SubCategoriaId", "Nombre", productoViewModel.SubCategoriaId); return(View(productoViewModel)); } } } } ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", productoViewModel.CategoriaId); ViewBag.MarcaId = new SelectList(CombosHelper.GetMarcas(), "MarcaId", "Nombre", productoViewModel.MarcaId); ViewBag.SubCategoriaId = new SelectList(CombosHelper.GetSubCategorias(productoViewModel.CategoriaId), "SubCategoriaId", "Nombre", productoViewModel.SubCategoriaId); return(View(productoViewModel)); }
// GET: Productos/Create public ActionResult Create() { var productoViewModel = new ProductoViewModel(); productoViewModel.Estado = true; ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre"); ViewBag.MarcaId = new SelectList(CombosHelper.GetMarcas(), "MarcaId", "Nombre"); ViewBag.SubCategoriaId = new SelectList(CombosHelper.GetSubCategorias(0), "SubCategoriaId", "Nombre"); return(View(productoViewModel)); }
// GET: Productos/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Producto producto = db.Productos.Find(id); if (producto == null) { return(HttpNotFound()); } var productoViewModel = ToViewModel(producto); ViewBag.CategoriaId = new SelectList(CombosHelper.GetCategorias(), "CategoriaId", "Nombre", producto.CategoriaId); ViewBag.MarcaId = new SelectList(CombosHelper.GetMarcas(), "MarcaId", "Nombre", producto.MarcaId); ViewBag.SubCategoriaId = new SelectList(CombosHelper.GetSubCategorias(producto.CategoriaId), "SubCategoriaId", "Nombre", producto.SubCategoriaId); return(View(productoViewModel)); }