public ActionResult Editar(BlogVista model, HttpPostedFileBase fichero) { if (model != null && ModelState.IsValid) { //Buscamos el blog a modificar... var blog = DbContext.Blog.Find(model.IdBlog); blog.titulo = model.Titulo; blog.texto = model.Texto; blog.profesional = false; blog.fecha = model.Fecha; if (fichero != null && fichero.ContentLength > 0) { //guardamos la nueva imagen con la misma ruta que tenía antes, solo cambia el nombre var nombre = string.Format("Blog{0}", model.IdBlog); var extension = fichero.FileName.Substring(fichero.FileName.LastIndexOf(".", comparisonType: StringComparison.Ordinal)); var ruta = Server.MapPath("~/Uploads/Fotos") + "/" + nombre + extension; fichero.SaveAs(ruta); blog.foto = "~/uploads/fotos/" + nombre + extension; } DbContext.SaveChanges(); } return(RedirectToAction("Index", "Blog")); }
public ActionResult Anadir(BlogVista model, HttpPostedFileBase fichero) { if (model != null && ModelState.IsValid) { if (fichero != null && fichero.ContentLength > 0) { var cus = (CustomIdentity)System.Web.HttpContext.Current.User.Identity; var usu = DbContext.Usuario.FirstOrDefault(oo => oo.login == cus.Email); var blog = new Blog(); if (usu != null) { blog.idUsuario = usu.idUsuario; } blog.titulo = model.Titulo; blog.fecha = model.Fecha; blog.texto = model.Texto; blog.foto = ""; blog.profesional = false; DbContext.Blog.Add(blog); DbContext.SaveChanges(); try { var nombre = "Blog" + blog.idBlog; var extension = fichero.FileName.Substring(fichero.FileName.LastIndexOf(".", StringComparison.Ordinal)); var ruta = Server.MapPath("~/Uploads/Fotos") + "/" + nombre + extension; fichero.SaveAs(ruta); blog.foto = "~/uploads/fotos/" + nombre + extension; DbContext.SaveChanges(); PublicarEnRedesSociales(blog, nombre, extension); } catch (Exception e) { //si falla el anadir la foto, borramos el elemento de la base de datos y devolvemos la vista con un error DbContext.Blog.Remove(blog); DbContext.SaveChanges(); ModelState.AddModelError("", Utilidades.ErrorManager.ErrorCodeToString(Utilidades.ErrorCodes.ErrorAddingItem) + " " + e.Message); return(View(model)); } } } return(RedirectToAction("Index", "Blog")); }
public ActionResult Anadir() { var blog = new BlogVista(); return(View(blog)); }