public ActionResult agregar(int id = 0) { Alma_Noticia o = new Alma_Noticia(); if (id != 0) { o = _db.Alma_Noticia.Find(id); } else { o.Fecha = DateTime.Now; o.IdUsuario = Convert.ToInt32(Session["ID_Usuario"]); } return(View(o)); }
public ActionResult agregar(Alma_Noticia obj, IEnumerable <HttpPostedFileBase> files) { ViewBag.error = ""; try { if (obj.Titulo == "") { throw new ArgumentException("Debes ingresar un titulo a la noticia"); } if (obj.IdPost == 0 && files.Count() == 0) { throw new ArgumentException("Debes ingresar al menos una photo!"); } if (ModelState.IsValid) { if (obj.IdPost == 0) //solo insertamos si es nuevo { _db.Alma_Noticia.Add(obj); } else { _db.Entry(obj).State = System.Data.Entity.EntityState.Modified; } _db.SaveChanges(); var idpost = obj.IdPost; if (files.Where(x => x != null).Count() > 0) { foreach (var item in files) { byte[] data; using (Stream inputStream = item.InputStream) { MemoryStream memoryStream = inputStream as MemoryStream; if (memoryStream == null) { memoryStream = new MemoryStream(); inputStream.CopyTo(memoryStream); } data = memoryStream.ToArray(); } Alma_Imagen i = new Alma_Imagen(); i.IdPost = idpost; i.ContentType = item.ContentType; i.NombreImagen = item.FileName; i.Contenido = CreateThumbnail(data, 400); _db.Alma_Imagen.Add(i); _db.SaveChanges(); } } return(RedirectToAction("Index", "Home")); } else { ViewBag.error = "Modelo inválido"; return(View(obj)); } } catch (Exception ex) { ViewBag.error = ex.Message; return(View(obj)); } }