예제 #1
0
        public List <ListaGrupos> EnSalones(ListaSalones salones)
        {
            var query = from sal in salones
                        from g in this
                        where sal.Cve_espacio == g.Cve_espacio
                        group g by g.Cve_espacio into gs
                        select new ListaGrupos(gs.ToList());

            return(query.ToList());
        }
예제 #2
0
        public ListaSalones EnArea(int area)
        {
            List <Salon> temp = new List <Salon>();

            var query = from Salon s in salones
                        where s.PrioridadArea(area.ToString()) > 0
                        select s;

            temp = query.ToList <Salon>();

            ListaSalones resultado = new ListaSalones(temp);

            return(resultado);
        }
예제 #3
0
        public ListaSalones ConEquipo(int idEquipo)
        {
            List <Salon> temp = new List <Salon>();

            var query = from Salon s in salones
                        where s.ContieneEquipo(idEquipo)
                        select s;

            temp = query.ToList <Salon>();

            ListaSalones resultado = new ListaSalones(temp);

            return(resultado);
        }
예제 #4
0
        public Grupo(DataRow r, IDictionary <string, string> h, IDictionary <string, string> def = null, Conexion c = null, IList <Salon> salones = null)
        {
            Set_From_Row(r, h, def);

            if (c != null)
            {
                Set_GruposHorasAnteriores(c.Grupos_HoraAnterior(RPE, hora_ini, ciclo), Conexion.DGruposBD);
                Set_NecesidadesGrupo(c.Grupo_Necesidades(Cve_materia, tipo, rpe.ToString()));
                Set_RequerimientosProfesor(c.Profesor_Necesidades(RPE.ToString()));
                Set_GruposOtrosSemestres(c.Grupos_SemestresAnteriores(cve_materia, ciclo, rpe.ToString(), num_Grupo, horario_ini), Conexion.DGruposBD);

                if (salones != null)
                {
                    Set_SalonesPosibles(c.Salones_Posibles(cve_materia), salones);
                }
                else
                {
                    salones_Posibles = new ListaSalones();
                }
            }
        }
예제 #5
0
        protected void Set_SalonesPosibles(DataTable dt, IList <Salon> salones)
        {
            ListaSalones lSalones = new ListaSalones(salones);

            salones_Posibles = lSalones.EnTabla(dt);
        }
예제 #6
0
        /// <summary>
        /// Constructor por copia
        /// </summary>
        /// <remarks>Es utilizado como base para ls metodos que heredan de la clase.
        /// Ademas que permite volver a solicitar la informacion si esta no estaba cubierta</remarks>
        /// <param name="g"></param>
        /// <param name="c"></param>
        /// <param name="salones"></param>
        public Grupo(Grupo g, Conexion c = null, IList <Salon> salones = null)
        {
            cve_materia   = g.cve_materia;
            grupo         = g.grupo;
            tipo          = g.tipo;
            lunes_ini     = g.lunes_ini;
            lunes_fin     = g.lunes_fin;
            martes_ini    = g.martes_ini;
            martes_fin    = g.martes_fin;
            miercoles_ini = g.miercoles_ini;
            miercoles_fin = g.miercoles_fin;
            jueves_ini    = g.jueves_ini;
            jueves_fin    = g.jueves_fin;
            viernes_ini   = g.viernes_ini;
            viernes_fin   = g.viernes_fin;
            sabado_ini    = g.sabado_ini;
            sabado_fin    = g.sabado_fin;
            cupo          = g.cupo;
            inscritos     = g.inscritos;
            Cve_espacio   = g.Cve_espacio;
            salonBD       = g.salonBD;
            rpe           = g.rpe;
            ciclo         = g.ciclo;

            if (c == null)
            {
                requerimientos_Salon = new List <Requerimiento_Valor>();
                Requerimiento_Valor req;
                if (g.requerimientos_Salon != null)
                {
                    foreach (Requerimiento_Valor ngR in g.requerimientos_Salon)
                    {
                        req = new Requerimiento_Valor();
                        req.requerimiento = ngR.requerimiento;
                        req.valor         = ngR.valor;
                        requerimientos_Salon.Add(req);
                    }
                }


                plantaBaja = g.plantaBaja;
                salon_fijo = g.salon_fijo;

                salones_Posibles = g.Salones_posibles;
                HoraAnterior     = g.HoraAnterior;
                otrosSemestres   = g.otrosSemestres;
            }
            else
            {
                Set_GruposHorasAnteriores(c.Grupos_HoraAnterior(RPE, hora_ini, ciclo), Conexion.DGruposBD);
                Set_NecesidadesGrupo(c.Grupo_Necesidades(Cve_materia, tipo, rpe.ToString()));
                Set_RequerimientosProfesor(c.Profesor_Necesidades(RPE.ToString()));
                Set_GruposOtrosSemestres(c.Grupos_SemestresAnteriores(cve_materia, ciclo, rpe.ToString(), num_Grupo, horario_ini), Conexion.DGruposBD);

                if (salones != null)
                {
                    Set_SalonesPosibles(c.Salones_Posibles(cve_materia), salones);
                }
                else
                {
                    salones_Posibles = new ListaSalones();
                }
            }
        }
예제 #7
0
 public ListaGrupos(IList <Grupo> grupos, IList <Materia> materias, IList <Profesor> profesores, Conexion c = null, ListaSalones salones = null) : base()
 {
     this.materias   = materias;
     this.profesores = profesores;
     SetGrupos(grupos, c, salones);
 }