public ActionResult CrearGrupoIndependiente(FormCollection formCollection) { if (!PermitirAcceso()) return RedirigirFaltaAcceso(); var ValidationLogic = new ValidationLogic(); var NombreTrabajo = formCollection["NombreTrabajoIndependiente"]; var ActualAlumnoId = Session.Get(GlobalKey.UsuarioId).ToString(); var ActualPeriodoId = Session.Get(GlobalKey.ActualPeriodoId).ToString(); if (!ValidationLogic.Valid(NombreTrabajo, ValidationOption.IsNotEmpty)) { PostMessage("El nombre del trabajo independiente es invalido. No se puede continuar.", MessageType.Error); return RedirectToAction("MostrarTrabajosIndependientes"); } try { using (TransactionScope scope = new TransactionScope()) { var Trabajo = new TrabajosBE() { CursoId = 0, EsGrupal = true, FechaFin = null, FechaInicio = null, Iniciativa = "EST", Instrucciones = "", Nombre = NombreTrabajo, PeriodoId = ActualPeriodoId, }; ePortafolioRepositoryFactory.GetTrabajosRepository().InsertIdentity(Trabajo, true); var Grupo = new GruposBE() { LiderId = ActualAlumnoId, Nota = "NE", SeccionId = "GEN", TrabajoId = Trabajo.TrabajoId, NombreTrabajo = NombreTrabajo, EvaluacionId = null }; ePortafolioRepositoryFactory.GetGruposRepository().InsertIdentity(Grupo, true); var AlumnoGrupo = new AlumnosGrupoBE() { AlumnoId = ActualAlumnoId, GrupoId = Grupo.GrupoId, Nota = "NE", EvaluacionId = null }; ePortafolioRepositoryFactory.GetAlumnosGrupoRepository().Insert(AlumnoGrupo); ePortafolioRepositoryFactory.SubmitChanges(true); scope.Complete(); PostMessage("El trabajo se ha creado exitosamente.", MessageType.Success); } } catch (Exception ex) { PostMessage("Ha ocurrido un error.", MessageType.Error); } return RedirectToAction("MostrarTrabajosIndependientes"); }
public ActionResult CrearGrupo(String NombreTrabajo, int TrabajoId) { if (!PermitirAcceso()) return RedirigirFaltaAcceso(); var ActualAlumnoId = Session.Get(GlobalKey.UsuarioId).ToString(); var ActualPeriodoId = Session.Get(GlobalKey.ActualPeriodoId).ToString(); var Grupo = ePortafolioRepositoryFactory.GetGruposRepository().GetGrupoTrabajo(TrabajoId, ActualAlumnoId); var Trabajo = ePortafolioRepositoryFactory.GetTrabajosRepository().GetOne(TrabajoId); if (Grupo != null) PostMessage("Ya tiene un grupo para este trabajo.", MessageType.Error); else { try { var AlumnoCurso = SSIARepositoryFactory.GetAlumnosCursoRepository().GetWhere(x => x.AlumnoId == ActualAlumnoId && x.PeriodoId == ActualPeriodoId && x.CursoId == Trabajo.CursoId).FirstOrDefault(); using (TransactionScope Scope = new TransactionScope()) { Grupo = new GruposBE() { LiderId = ActualAlumnoId, Nota = "NE", EvaluacionId = null, SeccionId = AlumnoCurso != null ? AlumnoCurso.SeccionId : "N/A", TrabajoId = TrabajoId, NombreTrabajo = NombreTrabajo }; ePortafolioRepositoryFactory.GetGruposRepository().InsertIdentity(Grupo, true); var AlumnoGrupo = new AlumnosGrupoBE() { AlumnoId = ActualAlumnoId, GrupoId = Grupo.GrupoId, Nota = "NE", EvaluacionId = null }; ePortafolioRepositoryFactory.GetAlumnosGrupoRepository().Insert(AlumnoGrupo); ePortafolioRepositoryFactory.SubmitChanges(true); Scope.Complete(); PostMessage("El grupo ha sido creado exitosamente.", MessageType.Success); } } catch (Exception ex) { PostMessage("Ha ocurrido un error.", MessageType.Error); } } return RedirectToAction("MostrarDetalleTrabajo", new { TrabajoId = TrabajoId }); }