public EditarProductoViewModel( Producto producto, 
     IList<Categoria> categorias)
 {
     this.Id = producto.Id;
     this.Nombre = producto.Nombre;
     this.Precio = producto.Precio.ToString();
     this.Categorias =
         new SelectList(categorias,"Id","Nombre",producto.Categoria.Id);
     this.TieneImagen = producto.Imagen != null;
 }
 public ActionResult Crear(Producto producto, int categoriaId)
 {
     if (!ModelState.IsValid)
     {
         ViewBag.CategoriaId = new SelectList(categorias.GetAll(), "Id", "Nombre");
         return this.View();
     }
     producto.Categoria = categorias.Get(categoriaId);
     productos.Add(producto);
     if (Request.IsAjaxRequest())
     {
         return this.Json(new { id=producto.Id});
     }
     TempData["mensaje"] = string.Format("El producto {0} se ha creado correctamente", producto.Nombre);
     return RedirectToAction("index");
 }