public ActionResult Edit([Bind(Include = "RegistroCapacitacionID,Aprobado,Nota,NotaPrevia,Estado,JornadaID,CapacitadoID,FechaVencimiento,EnvioOVALEstado,DocumentacionAdicionalDatos")] RegistroCapacitacion registroCapacitacion, string PreviousUrl) { if (ModelState.IsValid) { registroCapacitacion.SetearAtributosControl(); db.Entry(registroCapacitacion).State = EntityState.Modified; db.SaveChanges(); if (!String.IsNullOrEmpty(PreviousUrl)) { return(Redirect(PreviousUrl)); } else { return(RedirectToAction("Details", new { id = registroCapacitacion.RegistroCapacitacionID })); } } ViewBag.CapacitadoID = new SelectList(db.Capacitados, "CapacitadoID", "Nombre", registroCapacitacion.CapacitadoID); var jornadas = db.Jornada.Where(j => j.UsuarioModificacion == User.Identity.Name); ViewBag.JornadaID = new SelectList(jornadas.OrderByDescending(j => j.Fecha).ThenByDescending(j => j.Hora).ToList(), "JornadaID", "JornadaIdentificacionCompleta"); return(View(registroCapacitacion)); }
public ActionResult CreateWithCapacitado([Bind(Include = "RegistroCapacitacionID,Aprobado,Nota,NotaPrevia,Estado,JornadaID,CapacitadoID,FechaVencimiento")] RegistroCapacitacion registroCapacitacion) { if (ModelState.IsValid) { registroCapacitacion.SetearAtributosControl(); var jornada = db.Jornada.Where(j => j.JornadaID == registroCapacitacion.JornadaID).FirstOrDefault(); if (jornada == null) { return(HttpNotFound()); } if (jornada.PermiteEnviosOVAL) { registroCapacitacion.EnvioOVALEstado = EstadosEnvioOVAL.PendienteEnvio; } else { registroCapacitacion.EnvioOVALEstado = EstadosEnvioOVAL.NoEnviar; } db.RegistroCapacitacion.Add(registroCapacitacion); db.SaveChanges(); //return RedirectToAction("Index"); return(RedirectToAction("Details", "Capacitados", new { id = registroCapacitacion.CapacitadoID })); } var capacitado = db.Capacitados.Find(registroCapacitacion.CapacitadoID); if (capacitado != null) { ViewBag.Capacitado = capacitado; ViewBag.CapacitadoID = capacitado.CapacitadoID; } else { return(new HttpNotFoundResult()); } var jornadas = db.Jornada.Where(j => j.UsuarioModificacion == User.Identity.Name); ViewBag.JornadaID = new SelectList(jornadas.OrderByDescending(j => j.Fecha).ThenByDescending(j => j.Hora).ToList(), "JornadaID", "JornadaIdentificacionCompleta", registroCapacitacion.JornadaID); return(View("Create")); }
public ActionResult Create([Bind(Include = "CapacitadoID,Nombre,Apellido,Documento,Fecha,Telefono,EmpresaID,TipoDocumentoID")] Capacitado capacitado, HttpPostedFileBase upload, int?jornadaId) { if (ModelState.IsValid) { capacitado.SetearAtributosControl(); db.Capacitados.Add(capacitado); db.SaveChanges(); if (upload != null && upload.ContentLength > 0) { string nombreArchivo = PathArchivoHelper.GetInstance().ObtenerNombreFotoCapacitado(capacitado.CapacitadoID, System.IO.Path.GetExtension(upload.FileName)); string carpetaArchivo = PathArchivoHelper.GetInstance().ObtenerCarpetaFotoCapacitado(capacitado.CapacitadoID); string pathDirectorio = Path.Combine(Server.MapPath("~/Images/FotosCapacitados/"), carpetaArchivo); capacitado.PathArchivo = PathArchivoHelper.GetInstance().ObtenerPathArchivo(nombreArchivo, carpetaArchivo, pathDirectorio, upload, TiposArchivo.FotoCapacitado); db.Entry(capacitado).State = EntityState.Modified; db.SaveChanges(); } //si durante la cración se recibe un id de jornada, el capacitado es agregado a esa jornada if (jornadaId != null) { Jornada j = db.Jornada.Find(jornadaId); if (j == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //se vuelve a cargar el capacitado para leer entidades asociadas capacitado = db.Capacitados.Where(c => c.CapacitadoID == capacitado.CapacitadoID).Include(c => c.TipoDocumento).FirstOrDefault(); var nuevoRC = new RegistroCapacitacion(); nuevoRC.SetearAtributosControl(); nuevoRC.Jornada = j; nuevoRC.Capacitado = capacitado; nuevoRC.Nota = 0; nuevoRC.Aprobado = true; nuevoRC.FechaVencimiento = j.ObtenerFechaVencimiento(true); if (j.PermiteEnviosOVAL) { nuevoRC.EnvioOVALEstado = EstadosEnvioOVAL.PendienteEnvio; } else { nuevoRC.EnvioOVALEstado = EstadosEnvioOVAL.NoEnviar; } db.RegistroCapacitacion.Add(nuevoRC); db.SaveChanges(); //si la incripción fue registrada por un usuario con perfil para inscripciones externas, se notifica por email if (System.Web.HttpContext.Current.User.IsInRole("InscripcionesExternas")) { NotificacionesEMailHelper.GetInstance().EnviarEmailsNotificacionInscripcionExterna(nuevoRC, true); } return(RedirectToAction("Details", "Jornadas", new { id = jornadaId })); } return(RedirectToAction("Details", "Capacitados", new { id = capacitado.CapacitadoID })); } ViewBag.TipoDocumentoID = new SelectList(db.TiposDocumento.ToList(), "TipoDocumentoID", "Descripcion", capacitado.TipoDocumentoID); ViewBag.EmpresaID = new SelectList(db.Empresas.OrderBy(e => e.NombreFantasia).ToList(), "EmpresaID", "NombreFantasia", capacitado.EmpresaID); return(View(capacitado)); }