public List<Producto> Retrieve(Producto criteria, bool tracking) { DbQuery<Producto> qryArchivo = (tracking) ? model.Productos : model.Productos.AsNoTracking(); return qryArchivo .Where(new ProductoQry(criteria).Action()).Include(x => x.Categoria) .ToList(); }
public ActionResult Create(Producto producto) { try { ctrl.Insert(producto); return RedirectToAction("Index"); } catch { return View(); } }
public ActionResult Edit(int id, Producto producto) { try { var p = ctrl.Retrieve(new Producto() { ProductoId = id }, true); this.TryUpdateModel(p); ctrl.Update(); return RedirectToAction("Index"); } catch { return View(); } }
public ActionResult Galeria(int? id, Producto producto) { Producto p = new Producto(); try { if (id == null) throw new Exception("Es necesario el identificador del producto"); p = ctrl.Retrieve(new Producto() { ProductoId = id }, true).FirstOrDefault(); if (p == null) throw new Exception("El producto no existe"); } catch { } if (Request.Files.Count != 0) { for (int x = 0; x < Request.Files.Count; x++) { HttpPostedFileBase file = Request.Files[x]; if (string.IsNullOrEmpty(file.FileName)) continue; FileInfo fileInfo = new FileInfo(file.FileName); Galeria galeria = new Galeria(); galeria.Descripcion = file.FileName; galeria.Clave = Guid.NewGuid().ToString(); galeria.FileName = string.Format("{0}{1}", galeria.Clave , fileInfo.Extension); galeria.Principal = p.Galerias.Count == 0 && x == 0; galeria.ProductoId = p.ProductoId; file.SaveAs(Server.MapPath(string.Format("~/Images/Galerias/{0}", galeria.FileName))); TiendaAdmin.Comun.Utils.ImageUtils.ThumbnailImage(Server.MapPath(string.Format("~/Images/Galerias/{0}", galeria.FileName))); p.Galerias.Add(galeria); } ctrl.Update(); return RedirectToAction("Galeria", new { id = p.ProductoId }); } return View(p); }
public void Insert(Producto producto) { model.Productos.Add(producto); model.Commit(sign); }