/// <summary>
        /// Copia los atributos del objeto
        /// </summary>
        /// <param name="source">Objeto origen</param>
        protected void CopyValues(SesionCronogramaInfo source, ModuloList modulos, ClaseTeoricaList teoricas, ClasePracticaList practicas)
        {
            if (source == null)
            {
                return;
            }

            Oid = source.Oid;
            _base.Record.OidCronograma    = source.OidCronograma;
            _base.Record.OidClaseTeorica  = source.OidClaseTeorica;
            _base.Record.OidClasePractica = source.OidClasePractica;
            _base.Record.Semana           = source.Semana;
            _base.Record.Dia    = source.Dia;
            _base.Record.Turno  = source.Turno;
            _base.Record.Numero = source.Numero;
            _base.Record.Texto  = source.Texto;
            _base.Clase         = source.Clase;
            _base.Modulo        = source.Modulo;
            _base.Record.Fecha  = source.Fecha;
            _base.Record.Hora   = source.Hora;
            _base.Duracion      = source.Duracion;

            long oid_modulo = 0;

            if (source.OidClaseTeorica > 0)
            {
                ClaseTeoricaInfo teorica = teoricas.GetItem(source.OidClaseTeorica);
                if (teorica != null)
                {
                    oid_modulo = teorica.OidModulo;
                }
            }

            if (source.OidClasePractica > 0)
            {
                ClasePracticaInfo practica = practicas.GetItem(source.OidClasePractica);
                if (practica != null)
                {
                    oid_modulo = practica.OidModulo;
                }
            }

            if (oid_modulo > 0)
            {
                ModuloInfo modulo = modulos.GetItem(oid_modulo);
                if (modulo != null)
                {
                    _base.Modulo = modulo.NumeroModulo + " " + modulo.Texto;
                }
            }

            //if (_base.Record.OidClaseTeorica != 0)
            //    _base.Duracion = "1";
            //else
            //    _base.Duracion = "5";
        }
示例#2
0
        public static List <ListaSesiones> CargaSesionesProfesores(DateTime fecha, long oid_promocion)
        {
            HorarioList       horarios  = HorarioList.GetList(false);
            ClasePracticaList practicas = ClasePracticaList.GetList();

            if (horarios != null)
            {
                List <ListaSesiones> lista = new List <ListaSesiones>();
                foreach (HorarioInfo info in horarios)
                {
                    if (info.FechaInicial.ToShortDateString() == fecha.ToShortDateString() && info.OidPromocion != oid_promocion)
                    {
                        ListaSesiones list = new ListaSesiones(fecha);
                        Horario       item = Horario.Get(info.Oid);
                        foreach (Sesion ses in item.Sesions)
                        {
                            foreach (SesionAuxiliar aux in list)
                            {
                                if (ses.Fecha.ToShortDateString() == aux.Fecha.ToShortDateString() &&
                                    ses.Hora.ToShortTimeString() == aux.Hora.ToShortTimeString())
                                {
                                    aux.OidProfesor      = ses.OidProfesor;
                                    aux.OidClasePractica = ses.OidClasePractica;
                                    if (ses.OidClasePractica != 0)
                                    {
                                        aux.Incompatible = practicas.GetItem(ses.OidClasePractica).Incompatible;
                                    }
                                    else
                                    {
                                        aux.Incompatible = 0;
                                    }
                                    break;
                                }
                            }
                        }
                        lista.Add(list);
                        item.CloseSession();
                    }
                }
                return(lista);
            }
            return(null);
        }
示例#3
0
        /// <summary>
        /// Copia los atributos del objeto
        /// </summary>
        /// <param name="source">Objeto origen</param>
        protected void CopyValues(SesionInfo source, InstructorInfo instructor, ClaseTeoricaList teoricas,
                                  ClasePracticaList practicas, ClaseExtraList extras, string clases, long grupo, bool print_alumno)
        {
            if (source == null)
            {
                return;
            }

            Oid = source.Oid;
            _base.Record.OidHorario       = source.OidHorario;
            _base.Record.OidClaseTeorica  = source.OidClaseTeorica;
            _base.Record.OidClasePractica = source.OidClasePractica;
            _base.Record.OidClaseExtra    = source.OidClaseExtra;
            _base.Record.OidProfesor      = source.OidProfesor;
            _base.Record.Fecha            = source.Fecha;
            _base.Record.Hora             = source.Hora;
            _base.Record.Estado           = source.Estado;
            _base.Record.Observaciones    = source.Observaciones;
            _base.Record.Grupo            = grupo;
            _base.Record.Forzada          = source.Forzada;

            if (OidClaseTeorica != 0)
            {
                ClaseTeoricaInfo clase = teoricas.GetItem(OidClaseTeorica);
                if (clase != null)
                {
                    _modulo    = ModuloInfo.Get(clase.OidModulo, false).Alias;
                    _submodulo = SubmoduloInfo.Get(clase.OidSubmodulo, false).Codigo;    // clases;

                    if (instructor != null)
                    {
                        foreach (Submodulo_InstructorInfo item in instructor.Submodulos)
                        {
                            if (item.OidSubmodulo == clase.OidSubmodulo &&
                                item.FechaInicio.Date <= source.Fecha.Date &&
                                item.FechaFin >= source.Fecha.Date
                                )
                            {
                                instructor = InstructorInfo.Get(item.OidInstructorSuplente);
                                break;
                            }
                        }
                        if (instructor != null)
                        {
                            _instructor = instructor.Apellidos + ", " + instructor.NombrePropio;
                        }
                    }
                }
            }
            else
            {
                if (OidClasePractica != 0)
                {
                    ClasePracticaInfo clase = practicas.GetItem(OidClasePractica);
                    if (clase != null)
                    {
                        _modulo    = ModuloInfo.Get(clase.OidModulo, false).Alias;
                        _submodulo = clases;
                        _titulo    = clase.Alias;

                        if (instructor != null)
                        {
                            foreach (Submodulo_InstructorInfo item in instructor.Submodulos)
                            {
                                if (item.OidSubmodulo == clase.OidSubmodulo &&
                                    item.FechaInicio.Date <= source.Fecha.Date &&
                                    item.FechaFin >= source.Fecha.Date
                                    )
                                {
                                    instructor = InstructorInfo.Get(item.OidInstructorSuplente);
                                    break;
                                }
                            }
                            if (instructor != null)
                            {
                                _instructor = instructor.Apellidos + ", " + instructor.NombrePropio;
                            }
                        }
                    }
                }
                else
                {
                    if (OidClaseExtra != 0)
                    {
                        ClaseExtraInfo clase = extras.GetItem(OidClaseExtra);
                        if (clase != null)
                        {
                            _modulo    = ModuloInfo.Get(clase.OidModulo, false).Alias;
                            _submodulo = SubmoduloInfo.Get(clase.OidSubmodulo, false).Codigo;    //clases;

                            if (instructor != null)
                            {
                                foreach (Submodulo_InstructorInfo item in instructor.Submodulos)
                                {
                                    if (item.OidSubmodulo == clase.OidSubmodulo &&
                                        item.FechaInicio.Date <= source.Fecha.Date &&
                                        item.FechaFin >= source.Fecha.Date
                                        )
                                    {
                                        instructor = InstructorInfo.Get(item.OidInstructorSuplente);
                                        break;
                                    }
                                }
                                if (instructor != null)
                                {
                                    _instructor = instructor.Apellidos + ", " + instructor.NombrePropio;
                                }
                            }
                        }
                    }
                }
            }

            if (print_alumno)
            {
                _instructor = string.Empty;
            }
        }
        /// <summary>
        /// Retrieve the complete list from db
        /// </summary>
        /// <returns>SesionList</returns>
        public static SesionList GetSesionesList()
        {
            CriteriaEx criteria = Sesion.GetCriteria(Sesion.OpenSession());

            criteria.Childs = false;
            criteria.Query  = Sesions.SELECT_SESIONES_ORDENADAS();
            //No criteria. Retrieve all de List
            SesionList list = DataPortal.Fetch <SesionList>(criteria);

            CloseSession(criteria.SessionCode);

            SesionList        sesiones  = new SesionList();
            ClaseTeoricaList  teoricas  = ClaseTeoricaList.GetList();
            ClasePracticaList practicas = ClasePracticaList.GetList();
            ClaseExtraList    extras    = ClaseExtraList.GetList();
            int  count      = 0;
            long oid_modulo = 0;

            sesiones.IsReadOnly = false;

            foreach (SesionInfo item in list)
            {
                if (item.OidClaseTeorica > 0 ||
                    item.OidClasePractica > 0 ||
                    item.OidClaseExtra > 0)
                {
                    long oid_modulo_item = 0;
                    if (item.OidClasePractica != 0)
                    {
                        oid_modulo_item = practicas.GetItem(item.OidClasePractica).OidModulo;
                    }
                    if (item.OidClaseTeorica != 0)
                    {
                        oid_modulo_item = teoricas.GetItem(item.OidClaseTeorica).OidModulo;
                    }
                    if (item.OidClaseExtra != 0)
                    {
                        oid_modulo_item = extras.GetItem(item.OidClaseExtra).OidModulo;
                    }

                    if (oid_modulo_item > 0)
                    {
                        if (count == 0)
                        {
                            sesiones.AddItem(item);
                            oid_modulo = oid_modulo_item;
                            count++;
                        }
                        else
                        {
                            SesionInfo ultima = sesiones[sesiones.Count - 1];

                            if (ultima.OidHorario == item.OidHorario &&
                                ultima.Fecha.Date.Equals(item.Fecha.Date) &&
                                ultima.Hora.AddHours(count).Hour.Equals(item.Hora.Hour) &&
                                ultima.OidProfesor == item.OidProfesor &&
                                oid_modulo_item == oid_modulo &&
                                ((ultima.OidClasePractica != 0 && item.OidClasePractica != 0) ||
                                 (ultima.OidClaseTeorica != 0 && item.OidClaseTeorica != 0) ||
                                 (ultima.OidClaseExtra != 0 && item.OidClaseExtra != 0)))
                            {
                                count++;
                                if (count == 3)
                                {
                                    count = 0;
                                }
                            }
                            else
                            {
                                sesiones.AddItem(item);
                                oid_modulo = oid_modulo_item;
                                count      = 1;
                            }
                        }
                    }
                }
            }
            sesiones.IsReadOnly = true;

            return(sesiones);
        }