Beispiel #1
0
        //  private SesionCronogramaList() { }

        /// <summary>
        /// Retrieve the complete list from db
        /// </summary>
        /// <returns>SesionCronogramaList</returns>
        public static SesionCronogramaList GetList(bool childs)
        {
            CriteriaEx criteria = SesionCronograma.GetCriteria(SesionCronograma.OpenSession());

            criteria.Childs = childs;
            //No criteria. Retrieve all de List
            SesionCronogramaList list = DataPortal.Fetch <SesionCronogramaList>(criteria);

            CloseSession(criteria.SessionCode);

            return(list);
        }
Beispiel #2
0
        public void CopyValues(SesionCronograma source)
        {
            if (source == null)
            {
                return;
            }

            _record.CopyValues(source.Base.Record);

            _clase    = source.Clase;
            _modulo   = source.Modulo;
            _duracion = source.Duracion;
        }
Beispiel #3
0
        public void CopyValues(SesionCronograma source)
        {
            _base.CopyValues(source);

            _submodulo        = source.Submodulo;
            _titulo           = source.Titulo != string.Empty ? source.Titulo : source.Modulo + " " + source.Alias;
            _alias            = source.Alias;
            _tipo             = source.ETipoClase;
            _orden_primario   = source.OrdenPrimario;
            _orden_secundario = source.OrdenSecundario;
            _orden_terciario  = source.OrdenTerciario;
            _grupo            = source.Grupo;
            _incompatible     = source.Incompatible;
        }
Beispiel #4
0
 public static string SELECT()
 {
     return(SesionCronograma.SELECT(new QueryConditions(), false));
 }
Beispiel #5
0
 public void CopyFrom(SesionCronograma source)
 {
     _base.CopyValues(source);
 }
        public void GeneraCronograma()
        {
            int      semana                 = 1;
            int      sesiones               = -1;
            DateTime inicio_semana          = _inicio_cronograma;
            int      semanas_no_programadas = 0;

            while (semanas_no_programadas < 8)
            {
                sesiones = _cronograma.Sesiones.Count;
                ListaSesiones lista = GeneraHorario(semana, inicio_semana);

                for (int i = 0; i < lista.Count; i++)
                {
                    if (lista[i].OidClaseTeorica > 0 || lista[i].OidClasePractica > 0)
                    {
                        SesionCronograma sesion = SesionCronograma.NewChild(_cronograma);
                        sesion.MarkItemChild();
                        _cronograma.Sesiones.Add(sesion);

                        sesion.OidClaseTeorica  = lista[i].OidClaseTeorica;
                        sesion.OidClasePractica = lista[i].OidClasePractica;
                        sesion.Semana           = semana;
                        sesion.Dia      = (int)i / 14 + 1;
                        sesion.Turno    = i % 14 + 1;
                        sesion.Numero   = 0;
                        sesion.Duracion = string.Empty;
                        sesion.Texto    = string.Empty;
                        sesion.Clase    = string.Empty;
                        sesion.Modulo   = string.Empty;
                        sesion.Fecha    = lista[i].Fecha;
                        sesion.Hora     = lista[i].Hora;

                        if (sesion.OidClaseTeorica > 0)
                        {
                            ClaseTeoricaInfo teorica = _teoricas.GetItem(sesion.OidClaseTeorica);
                            sesion.Duracion        = "1:00";
                            sesion.Texto           = teorica.Alias;
                            sesion.Clase           = teorica.Alias;
                            sesion.Modulo          = teorica.Modulo;
                            sesion.Submodulo       = teorica.Submodulo;
                            sesion.Alias           = teorica.Alias;
                            sesion.ETipoClase      = ETipoClase.Teorica;
                            sesion.OrdenPrimario   = teorica.OrdenPrimario;
                            sesion.OrdenSecundario = teorica.OrdenSecundario;
                            sesion.OrdenTerciario  = teorica.OrdenTerciario;
                        }
                        if (sesion.OidClasePractica > 0)
                        {
                            ClasePracticaInfo practica = _practicas[(int)lista[i].Grupo].GetItem(sesion.OidClasePractica);
                            sesion.Duracion        = practica.Duracion.ToString() + ":00";
                            sesion.Texto           = practica.Alias + "G" + lista[i].Grupo.ToString();
                            sesion.Clase           = practica.Alias + "G" + lista[i].Grupo.ToString();
                            sesion.Modulo          = practica.Modulo;
                            sesion.Submodulo       = practica.Submodulo;
                            sesion.Alias           = practica.Alias;
                            sesion.ETipoClase      = ETipoClase.Practica;
                            sesion.OrdenPrimario   = practica.OrdenPrimario;
                            sesion.OrdenSecundario = practica.OrdenSecundario;
                            sesion.OrdenTerciario  = practica.OrdenTerciario;
                            sesion.Grupo           = lista[i].Grupo;
                            sesion.Incompatible    = practica.Incompatible;
                        }
                    }
                }
                semana++;
                while (inicio_semana.DayOfWeek != DayOfWeek.Monday)
                {
                    inicio_semana = inicio_semana.AddDays(-1);
                }
                inicio_semana = inicio_semana.AddDays(7);
                if (sesiones == _cronograma.Sesiones.Count)
                {
                    semanas_no_programadas++;
                }
                else
                {
                    semanas_no_programadas = 0;
                }
                if (inicio_semana > _fin_cronograma)
                {
                    break;
                }
            }
        }