// GET: Admin/Noticias/Create public ActionResult Create( ) { NoticiaCreateViewModel viewModel = new NoticiaCreateViewModel(); viewModel.InicializarDesplegables(); return(View(viewModel)); }
public ActionResult Create(NoticiaCreateViewModel viewModel) { //fichero pdf //"~/media/upload/Noticias_puntos/" if (ModelState.IsValid) { var UserId = ((ClaimsIdentity)User.Identity).FindFirst("UserId").Value; viewModel.Noticia.UsuarioId = UserId; viewModel.Noticia.Fecha = DateTime.Now; viewModel.Noticia.TextoResumen = HtmlTextHelper.QuitarEtiquetas(viewModel.Noticia.Texto); if (viewModel.Noticia.TextoResumen.Length > 200) { viewModel.Noticia.TextoResumen = viewModel.Noticia.TextoResumen.Substring(0, 200); } if (User.IsInRole("AdministradorGrupo")) { var ClienteId = ((ClaimsIdentity)User.Identity).FindFirst("ClienteId").Value; viewModel.Noticia.ClienteId = Convert.ToInt32(ClienteId); } db.Noticias.Add(viewModel.Noticia); db.SaveChanges(); if (viewModel.File != null) { viewModel.Noticia.FicheroAdjunto = viewModel.Noticia.NoticiaId + "_" + viewModel.File.FileName; string nameAndLocation = "~/media/upload/Noticias_adjuntos/" + viewModel.Noticia.FicheroAdjunto; viewModel.File.SaveAs(Server.MapPath(nameAndLocation)); db.Entry(viewModel.Noticia).State = EntityState.Modified; db.SaveChanges(); } if (viewModel.ImageFile != null) { viewModel.Noticia.Foto = viewModel.Noticia.NoticiaId + ".jpg"; string nameAndLocation = "~/media/upload/Noticias_imagenes/" + viewModel.Noticia.Foto; FileUploadHelper.SubirImagenArticulo(viewModel.ImageFile, 800, 640, Server.MapPath(Url.Content(nameAndLocation))); db.Entry(viewModel.Noticia).State = EntityState.Modified; db.SaveChanges(); } if (User.IsInRole("AdministradorGrupo")) { var GrupoUsuarioId = ((ClaimsIdentity)User.Identity).FindFirst("GrupoUsuario").Value; NoticiaGrupo noticiaGrupo = new NoticiaGrupo() { GrupoUsuarioId = Convert.ToInt32(GrupoUsuarioId), NoticiaId = viewModel.Noticia.NoticiaId }; db.NoticiaGrupos.Add(noticiaGrupo); db.SaveChanges(); } if (User.IsInRole("Admin")) { foreach (var grupo in viewModel.GruposUsuarios) { if (grupo.Seleccionado) { NoticiaGrupo noticiaGrupo = new NoticiaGrupo() { GrupoUsuarioId = grupo.Id, NoticiaId = viewModel.Noticia.NoticiaId }; db.NoticiaGrupos.Add(noticiaGrupo); db.SaveChanges(); } } } return(RedirectToAction("Index", new { })); } viewModel.InicializarDesplegables(); return(View(viewModel)); }