public ActionResult Create(Complejo complejo) { if (ModelState.IsValid) { db.complejos.Add(complejo); int numReg = db.SaveChanges(); //Creacion del Directorio del Complejo if (numReg > 0) { String directorioBase = "C:\\SonoranResort\\"; string directorioComplejo = directorioBase + complejo.nombre; System.IO.Directory.CreateDirectory(directorioComplejo); db.complejos.Find(complejo.complejoID).directorio = directorioComplejo; db.SaveChanges(); } //Si el nuevo registro se ha dado de alta y si se ha registrado con fotografía if (numReg > 0 && Request.Files[0].ContentLength > 0) { String directorioRelativo = "~/Content/Imagenes/Complejos"; //Se captura el directorio en el servidor donde se almacenan las fotografias de medicos String directorio = Server.MapPath(directorioRelativo); //Se captura el formato del archivo String formato = System.IO.Path.GetExtension(Request.Files[0].FileName); //Se fabrica el directorio de la fotografia que se va a almacenar en el disco duro String fotoPath = String.Format("/{0}_{1}{2}", complejo.complejoID, complejo.nombre.Trim(), formato); //Se almacena en disco duro Request.Files[0].SaveAs(directorio + fotoPath); //Se toma el registro ya existente del medico y se le asigna el directorio de su foto db.complejos.Find(complejo.complejoID).Fotografia = directorioRelativo + fotoPath; db.SaveChanges(); } } return RedirectToAction("Index"); }
public ActionResult Edit(Complejo complejo) { if (ModelState.IsValid) { db.Entry(complejo).State = EntityState.Modified; //Nombre y directorio relativo de fotografia actual String fotoActual = complejo.Fotografia; int numReg=db.SaveChanges(); //Si se realizo la edicion del registro y se estan subiendo los archivos al servidor if (numReg > 0 && Request.Files[0].ContentLength > 0) { //Directorio relativo String directorioRelativo = "~/Content/Imagenes/Complejos"; //Se captura el directorio en el servidor donde se almacenan las fotografias de medicos String directorio = Server.MapPath(directorioRelativo); //Se captura el formato del archivo subido String formato = System.IO.Path.GetExtension(Request.Files[0].FileName); String fotoPath = String.Empty; //Si el registro almacena una asociacion con un archivo en el disco duro if (!String.IsNullOrEmpty(fotoActual)) { //Se elimina la fotografia anterior si es que aun existe if (System.IO.File.Exists(directorio + fotoActual)) { System.IO.File.Delete(directorio + fotoActual); } } else { //Se fabrica el directorio de la fotografia que se va a almacenar en el disco duro fotoPath = String.Format("/{0}_{1}{2}", complejo.complejoID, complejo.nombre.Trim(), formato); } //Se almacena en disco duro Request.Files[0].SaveAs(directorio + fotoPath); //Se toma el registro ya existente del medico y se le asigna el directorio de su foto db.complejos.Find(complejo.complejoID).Fotografia = directorioRelativo + fotoPath; db.SaveChanges(); } } // ViewBag.AreaID = new SelectList(db.Area, "AreaID", "Nombre", medico.AreaID); return RedirectToAction("Index"); }