public ActionResult EditarTrabajo(int TrabajoId, FormCollection formCollection) { if (!PermitirAcceso()) return RedirigirFaltaAcceso(); var ActualProfesorId = Session.Get(GlobalKey.UsuarioId).ToString(); var ActualPeriodoId = Session.Get(GlobalKey.ActualPeriodoId).ToString(); var ValidationLogic = new ValidationLogic(ModelState); var FechaInicio = formCollection["Trabajo.FechaInicio"].ToString(); var FechaFin = formCollection["Trabajo.FechaFin"].ToString(); var Nombre = formCollection["Trabajo.Nombre"].ToString(); ValidationLogic.Valid(FechaInicio, "Trabajo.FechaInicio", ValidationOption.IsEmpty, ValidationOption.IsDate); ValidationLogic.Valid(FechaFin, "Trabajo.FechaFin", ValidationOption.IsEmpty, ValidationOption.IsDate); ValidationLogic.Valid(Nombre, "Trabajo.Nombre", ValidationOption.IsNotEmpty); if (!ModelState.IsValid) { var EditarTrabajoViewModel = new EditarTrabajoViewModel(TrabajoId, ActualProfesorId); TryUpdateModel(EditarTrabajoViewModel); return View(EditarTrabajoViewModel); } var Trabajo = ePortafolioRepositoryFactory.GetTrabajosRepository().GetOne(TrabajoId); var CursosPeriodos = SSIARepositoryFactory.GetCursosPeriodosRepository().GetOne(Trabajo.CursoId, ActualPeriodoId); if (CursosPeriodos.CoordinadorId != ActualProfesorId) PostMessage("No tiene los permisos necesarios para editar el trabajo.", MessageType.Error); else { Trabajo.FechaInicio = null; Trabajo.FechaFin = null; if (FechaInicio != String.Empty) Trabajo.FechaInicio = Convert.ToDateTime(FechaInicio); if (FechaFin != String.Empty) Trabajo.FechaFin = Convert.ToDateTime(FechaFin); if (Trabajo.FechaInicio != null && Trabajo.FechaFin != null && Trabajo.FechaInicio > Trabajo.FechaFin) { Trabajo.FechaInicio = Convert.ToDateTime(FechaFin); Trabajo.FechaFin = Convert.ToDateTime(FechaInicio); } Trabajo.Nombre = Nombre; Trabajo.EsGrupal = Convert.ToBoolean(formCollection["Trabajo.EsGrupal"]); Trabajo.Instrucciones = formCollection["Trabajo.Instrucciones"].ToString(); try { using (TransactionScope scope = new TransactionScope()) { ePortafolioRepositoryFactory.GetTrabajosRepository().Update(Trabajo); ePortafolioRepositoryFactory.SubmitChanges(true); scope.Complete(); PostMessage("El trabajo ha sido editado exitosamente.", MessageType.Success); } } catch (Exception ex) { PostMessage("Ha ocurrido un error.", MessageType.Error); } } return RedirectToAction("MostrarTrabajos", "Profesor", new { PeriodoId = Trabajo.PeriodoId }); }
public ActionResult EditarTrabajo(int TrabajoId) { if (!PermitirAcceso()) return RedirigirFaltaAcceso(); var ActualProfesorId = Session.Get(GlobalKey.UsuarioId).ToString(); var EditarTrabajoViewModel = new EditarTrabajoViewModel(TrabajoId, ActualProfesorId); return View(EditarTrabajoViewModel); }