public ActionResult Edit(DocumentoEditViewModel viewModel) { if (ModelState.IsValid) { if (viewModel.Documento.TemaId.Value == 0) { viewModel.Documento.TemaId = null; } if (viewModel.Documento.SubTemaId.Value == 0) { viewModel.Documento.SubTemaId = null; } if (viewModel.File != null) { string fullPath = Request.MapPath("~/media/upload/documentos/" + viewModel.Documento.FicheroAdjunto); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } viewModel.Documento.FicheroAdjunto = viewModel.Documento.DocumentoId + "_" + viewModel.File.FileName; string nameAndLocation = "~/media/upload/documentos/" + viewModel.Documento.FicheroAdjunto; viewModel.File.SaveAs(Server.MapPath(nameAndLocation)); } db.Entry(viewModel.Documento).State = EntityState.Modified; db.SaveChanges(); foreach (var grupo in viewModel.GruposUsuarios) { var existe = db.DocumentoGrupos.FirstOrDefault(gr => gr.DocumentoId == viewModel.Documento.DocumentoId && gr.GrupoUsuarioId == grupo.Id); if (grupo.Seleccionado && existe == null) { DocumentoGrupo DocumentoGrupo = new DocumentoGrupo() { GrupoUsuarioId = grupo.Id, DocumentoId = viewModel.Documento.DocumentoId }; db.DocumentoGrupos.Add(DocumentoGrupo); db.SaveChanges(); } if (!grupo.Seleccionado && existe != null) { db.DocumentoGrupos.Remove(existe); db.SaveChanges(); } } return(RedirectToAction("Index", new {})); } viewModel.InicializarDesplegables(); return(View(viewModel)); }
public ActionResult Create(DocumentoCreateViewModel viewModel) { //fichero pdf //"~/media/upload/Documentos_puntos/" if (ModelState.IsValid) { viewModel.Documento.Fecha = DateTime.Now; if (viewModel.Documento.TemaId.Value == 0) { viewModel.Documento.TemaId = null; } if (viewModel.Documento.SubTemaId.Value == 0) { viewModel.Documento.SubTemaId = null; } db.Documentos.Add(viewModel.Documento); db.SaveChanges(); if (viewModel.File != null) { viewModel.Documento.FicheroAdjunto = viewModel.Documento.DocumentoId + "_" + viewModel.File.FileName; string nameAndLocation = "~/media/upload/documentos/" + viewModel.Documento.FicheroAdjunto; viewModel.File.SaveAs(Server.MapPath(nameAndLocation)); db.Entry(viewModel.Documento).State = EntityState.Modified; db.SaveChanges(); } foreach (var grupo in viewModel.GruposUsuarios) { if (grupo.Seleccionado) { DocumentoGrupo DocumentoGrupo = new DocumentoGrupo() { GrupoUsuarioId = grupo.Id, DocumentoId = viewModel.Documento.DocumentoId }; db.DocumentoGrupos.Add(DocumentoGrupo); db.SaveChanges(); } } return(RedirectToAction("Index", new { })); } viewModel.InicializarDesplegables(); return(View(viewModel)); }