示例#1
0
        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"));
            }
        }
示例#2
0
        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"));
            }
        }