public ActionResult CrearGrupo() { if (Session["Admin"] != null) { //se crea un CrearGrupoViewModel GruposCrearViewModel grupo = new GruposCrearViewModel(); #region Se guardan las listas //LISTA DE CARRERAS //se obtienen var queryCarreras = (from c in dbCtx.Careers select c).ToList(); //se crea lista y se agregan List <Career> carreras = new List <Career>(queryCarreras); //se agregan al viewmodel grupo.Carreras = carreras; //LISTA DE MODALIDADES //se obtienen var queryModalidades = (from m in dbCtx.Modalities select m).ToList(); //se crea lista y se agregan List <Modality> modalidades = new List <Modality>(queryModalidades); //se agregan al viewmodel grupo.Modalidades = modalidades; //LISTA DE TURNOS //se obtienen var queryTurnos = (from t in dbCtx.Turns select t).ToList(); //se crea lista y se agregan List <Turn> turnos = new List <Turn>(queryTurnos); //se agregan al viewmodel grupo.Turnos = turnos; //LISTA DE TUTORES var queryTutores = (from t in dbCtx.Teachers join tr in dbCtx.TeacherRoles on t.ID equals tr.TeacherID where tr.RoleID == 2 select new { ID = t.ID, Nombre = t.LastNameP + " " + t.LastNameM + " " + t.FirstMidName }).ToList(); //se crea lista List <GruposCrearTutorViewModel> tutores = new List <GruposCrearTutorViewModel>(); //por cada tutor se crean los vm foreach (var tutor in queryTutores) { //se verifica cuales se utilizan var queryTutor = (from cg in dbCtx.ClassGroups where cg.TeacherID == tutor.ID select cg).SingleOrDefault(); //si el tutor ya tiene grupo no se muestra if (queryTutor == null) { GruposCrearTutorViewModel tutorvm = new GruposCrearTutorViewModel(); tutorvm.ID = tutor.ID; tutorvm.Nombre = tutor.Nombre; tutores.Add(tutorvm); } } //se agregan al viewmodel grupo.Tutores = tutores; #endregion //se regresa la vista return(View(grupo)); } else { //si no se inicio sesion no se puede acceder a esta pagina return(RedirectToAction("Login", "Login")); } }
public ActionResult CrearGrupo(GruposCrearViewModel nuevoGrupo) { if (Session["Admin"] != null) { if (ModelState.IsValid) { //se guardan en variables los valores int Carrera = nuevoGrupo.CareerID; int Cuatrimestre = nuevoGrupo.Term; string Seccion = nuevoGrupo.Section.ToUpper(); int Modalidad = nuevoGrupo.ModalityID; int Turno = nuevoGrupo.TurnID; int Generacion = nuevoGrupo.Generation; int TutorID = nuevoGrupo.TutorID; #region CREAR GroupID //Abreviacion de carrera var querycarrea = (from c in dbCtx.Careers where c.ID == Carrera select new { carrera = c.Abbreviation }).SingleOrDefault(); //Modalidad var querymodalidad = (from m in dbCtx.Modalities where m.ID == Modalidad select new { modalidad = m.Description }).SingleOrDefault(); //Turno var queryturno = (from t in dbCtx.Turns where t.ID == Turno select new { turno = t.Description }).SingleOrDefault(); string TurnoAb = null; if (queryturno.turno.ToString() == "Matutino") { TurnoAb = "MAT"; } else { TurnoAb = "NOC"; } //TICSI UTE 4 A BIS MAT G49 string GroupID = querycarrea.carrera.ToString() + " UTE " + Cuatrimestre.ToString() + Seccion + " " + querymodalidad.modalidad.ToString() + " " + TurnoAb + " " + "G" + Generacion.ToString(); #endregion //se crea aun ClassGroup ClassGroup grupo = new ClassGroup(); //se guardan los valores grupo.GroupID = GroupID; grupo.CareerID = Carrera; grupo.Term = Cuatrimestre; grupo.Section = Seccion; grupo.ModalityID = Modalidad; grupo.TurnID = Turno; grupo.Generation = Generacion; grupo.TeacherID = TutorID; //se guarda dbCtx.ClassGroups.Add(grupo); dbCtx.SaveChanges(); #region LOG //se guarda el grupo creadoen la tabla log de la base de datos //se crea el objeto log Log log = new Log(); //se le asignan los valores log.Date = DateTime.Now; log.Description = "Se agregó un grupo con ID: " + GroupID + ", con ID de Tutor: " + TutorID; //se guarda en la base de datos dbCtx.Logs.Add(log); dbCtx.SaveChanges(); #endregion //se obtiene el ID var queryID = (from cg in dbCtx.ClassGroups where cg.GroupID == GroupID select new { ID = cg.ID }).SingleOrDefault(); int id = queryID.ID; //se debe pasar el id del grupo return(RedirectToAction("AgregarAlumnos", "Grupos", new { ID = id })); } else { #region Se guardan las listas //LISTA DE CARRERAS //se obtienen var queryCarreras = (from c in dbCtx.Careers select c).ToList(); //se crea lista y se agregan List <Career> carreras = new List <Career>(queryCarreras); //se agregan al viewmodel nuevoGrupo.Carreras = carreras; //LISTA DE MODALIDADES //se obtienen var queryModalidades = (from m in dbCtx.Modalities select m).ToList(); //se crea lista y se agregan List <Modality> modalidades = new List <Modality>(queryModalidades); //se agregan al viewmodel nuevoGrupo.Modalidades = modalidades; //LISTA DE TURNOS //se obtienen var queryTurnos = (from t in dbCtx.Turns select t).ToList(); //se crea lista y se agregan List <Turn> turnos = new List <Turn>(queryTurnos); //se agregan al viewmodel nuevoGrupo.Turnos = turnos; //LISTA DE TUTORES var queryTutores = (from t in dbCtx.Teachers join tr in dbCtx.TeacherRoles on t.ID equals tr.TeacherID where tr.RoleID == 2 select new { ID = t.ID, Nombre = t.LastNameP + " " + t.LastNameM + " " + t.FirstMidName }).ToList(); //se crea lista List <GruposCrearTutorViewModel> tutores = new List <GruposCrearTutorViewModel>(); //por cada tutor se crean los vm foreach (var tutor in queryTutores) { GruposCrearTutorViewModel tutorvm = new GruposCrearTutorViewModel(); tutorvm.ID = tutor.ID; tutorvm.Nombre = tutor.Nombre; tutores.Add(tutorvm); } //se agregan al viewmodel nuevoGrupo.Tutores = tutores; #endregion return(View(nuevoGrupo)); } } else { //si no se inicio sesion no se puede acceder a esta pagina return(RedirectToAction("Login", "Login")); } }