public ActionResult EditarHospital(HospitalesVista model, HttpPostedFileBase fichero, FormCollection coleccion) { try { var hospitalAEditar = new DatosProfesionales { idDatosPro = Convert.ToInt32(model.IdHospital) }; hospitalAEditar = DbContext.DatosProfesionales.Find(hospitalAEditar.idDatosPro); hospitalAEditar.nombre = model.Nombre; hospitalAEditar.telefono = model.Telefono; hospitalAEditar.direccion = model.Direccion; hospitalAEditar.email = model.Email; hospitalAEditar.texto = model.Texto; if (fichero != null && fichero.ContentLength > 0) { //guardamos el fichero de la foto con nombre hosp + id var nombreFichero = fichero.FileName; var extension = nombreFichero.Substring(nombreFichero.LastIndexOf(".", StringComparison.CurrentCulture)); var rutacompleta = Server.MapPath("~/uploads/fotos") + @"\" + model.IdHospital + extension; fichero.SaveAs(rutacompleta); hospitalAEditar.foto = "~/uploads/fotos/" + model.IdHospital + extension; } //nos cargamos todas previamente foreach (var co in hospitalAEditar.Companias.ToList()) { hospitalAEditar.Companias.Remove(co); } for (var i = 6; i < coleccion.Count; i++) { var id = Convert.ToInt32(coleccion.GetKey(i)); var co = DbContext.Companias.Find(id); hospitalAEditar.Companias.Add(co); } DbContext.SaveChanges(); return(RedirectToAction("index")); } catch (Exception e) { //algo deberiamos hacer si falla..pero si no podemos enviar un email...chungo.. return(Json(string.Format("error editando hospital {0}", e.Message), JsonRequestBehavior.AllowGet)); } }
public ActionResult Index() { var hospi = DbContext.DatosProfesionales.Where(x => x.activo.HasValue && x.activo.Value).Select(o => o); var data = new List <HospitalesVista>(); foreach (var o in hospi) { var item = new HospitalesVista { IdHospital = o.idDatosPro.ToString(), Nombre = o.nombre, Telefono = o.telefono, Email = o.email, Direccion = o.direccion, Texto = o.texto, Foto = o.foto }; item.Companies = new List <CompaniasVista>(); //comprobamos, como siempre if (o.Companias != null) { var pos = 0; foreach (var oo in o.Companias) { var company = new CompaniasVista { IdCompanias = oo.idCompanias, Nombre = oo.nombre, Link = oo.link, Posicion = pos, Foto = oo.foto }; item.Companies.Add(company); pos++; } } data.Add(item); } return(View(data)); }