Beispiel #1
0
        /// <summary>
        /// Retrieve the complete list from db
        /// </summary>
        /// <param name="get_childs">retrieving the childs</param>
        /// <returns></returns>
        public static ClaseGenericaList GetList(ClaseTeoricaList teoricas
                                                , ClasePracticaList practicas
                                                , ClaseExtraList extras)
        {
            ClaseGenericaList list = new ClaseGenericaList();

            list.IsReadOnly = false;

            foreach (ClaseTeoricaInfo item in teoricas)
            {
                if (item.EEstadoClase != EEstadoClase.Impartida)
                {
                    list.AddItem(new ClaseGenericaInfo(item));
                }
            }
            foreach (ClasePracticaInfo item in practicas)
            {
                if (item.EEstadoClase != EEstadoClase.Impartida)
                {
                    list.AddItem(new ClaseGenericaInfo(item));
                }
            }
            foreach (ClaseExtraInfo item in extras)
            {
                if (item.Estado != 3)
                {
                    list.AddItem(new ClaseGenericaInfo(item));
                }
            }

            list.IsReadOnly = true;

            return(list);
        }
        public ClasesRpt GetDetailReport(ClasePracticaList list)
        {
            if (list == null)
            {
                return(null);
            }

            System.ComponentModel.BindingList <Clase> lista = ListaClases.GetList(null, list, null);

            ClasesRpt doc = new ClasesRpt();

            //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports
            if (lista.Count <= 0)
            {
                return(null);
            }


            doc.SetDataSource(lista);
            doc.SetParameterValue("Empresa", Schema.Name);
            if (Schema.Oid == 2)
            {
                ((CrystalDecisions.CrystalReports.Engine.TextObject)(doc.Section5.ReportObjects["Text1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46);
            }

            return(doc);
        }
Beispiel #3
0
        public SesionPrint GetPrintObject(ClaseTeoricaList teoricas, ClasePracticaList practicas,
                                          ClaseExtraList extras, string clases, long grupo, bool print_alumno)
        {
            //HorarioInfo horario = HorarioInfo.Get(this.OidHorario);
            InstructorInfo instructor = InstructorInfo.Get(this.OidProfesor, true);

            return(SesionPrint.New(this, instructor, teoricas, practicas, extras, clases, grupo, print_alumno));
        }
Beispiel #4
0
        public HComboBoxSourceList(ClasePracticaList lista)
        {
            AddEmptyItem();

            foreach (ClasePracticaInfo item in lista)
            {
                ComboBoxSource combo = new ComboBoxSource();

                combo.Texto = item.Alias;
                combo.Oid   = item.Oid;

                this.Add(combo);
            }
        }
Beispiel #5
0
        public static HComboBoxSourceList GetComboClases(ClaseTeoricaList teoricas,
                                                         ClasePracticaList practicas,
                                                         ClaseExtraList extras)
        {
            HComboBoxSourceList lista_combo = new HComboBoxSourceList();

            //lista_combo.Add(new ComboBoxSource());
            lista_combo.Add(new ComboBoxSource(-1, "LIBRE"));
            lista_combo.Add(new ComboBoxSource(-2, "NO ASIGNADA"));

            if (teoricas != null && practicas != null && extras != null)
            {
                foreach (ClaseTeoricaInfo item in teoricas)
                {
                    ComboBoxSource combo = new ComboBoxSource();
                    combo.Oid      = item.Oid;
                    combo.OidAjeno = item.OidSubmodulo;
                    combo.Tipo     = item.Tipo;
                    combo.Texto    = "T " + item.Alias;

                    lista_combo.Add(combo);
                }


                foreach (ClaseExtraInfo item in extras)
                {
                    ComboBoxSource combo = new ComboBoxSource();
                    combo.Oid      = item.Oid;
                    combo.OidAjeno = item.OidSubmodulo;
                    combo.Tipo     = 2;
                    combo.Texto    = "E " + item.Alias;

                    lista_combo.Add(combo);
                }

                foreach (ClasePracticaInfo item in practicas)
                {
                    ComboBoxSource combo = new ComboBoxSource();
                    combo.Oid      = item.Oid;
                    combo.OidAjeno = item.OidSubmodulo;
                    combo.Tipo     = item.Tipo;
                    combo.Texto    = "P " + item.Alias + " G" + item.Grupo;

                    lista_combo.Add(combo);
                }
            }


            return(lista_combo);
        }
Beispiel #6
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);
        }
        public CronogramaRpt GetCronogramaReport(CronogramaInfo item, CompanyInfo empresa, ModuloList modulos,
                                                 ClaseTeoricaList teoricas, ClasePracticaList practicas)
        {
            if (item == null)
            {
                return(null);
            }

            CronogramaRpt doc = new CronogramaRpt();

            List <CronogramaPrint>      pList    = new List <CronogramaPrint>();
            List <SesionCronogramaInfo> sesiones = new List <SesionCronogramaInfo>();

            foreach (SesionCronogramaInfo ses in item.Sesiones)
            {
                sesiones.Add(ses.GetPrintObject(modulos, teoricas, practicas));
            }

            //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports
            if (sesiones.Count <= 0)
            {
                return(null);
            }


            pList.Add(item.GetPrintObject(empresa));
            doc.Subreports["SesionCronogramaListSubRpt.rpt"].SetDataSource(sesiones);

            doc.SetDataSource(pList);
            doc.SetParameterValue("Empresa", empresa.Name);
            if (empresa.Oid == 2)
            {
                ((CrystalDecisions.CrystalReports.Engine.TextObject)(doc.Section5.ReportObjects["Text1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46);
            }

            return(doc);
        }
 public ClasesRpt GetDetailReport(ClasePracticas list)
 {
     return(GetDetailReport(ClasePracticaList.GetChildList(list)));
 }
        public HojaFirmasPracticaRpt GetDetailPracticasReport(SesionInfo item, AlumnoList lista, string duracion,
                                                              ClaseTeoricaList teoricas, ClasePracticaList practicas, ClaseExtraList extras, string clases, long oidPromocion, bool print_alumno)
        {
            if (item == null)
            {
                return(null);
            }

            HojaFirmasPracticaRpt doc   = new HojaFirmasPracticaRpt();
            List <SesionPrint>    pList = new List <SesionPrint>();

            long grupo = 0;
            List <AlumnoInfo> alumnos = new List <AlumnoInfo>();

            foreach (AlumnoInfo alumno in lista)
            {
                if (alumno.Grupo != grupo && grupo < 3)
                {
                    grupo += alumno.Grupo;
                }
                alumnos.Add(alumno.GetPrintObject());
            }

            pList.Add(item.GetPrintObject(teoricas, practicas, extras, clases, grupo, print_alumno));

            //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports
            if (alumnos.Count <= 0)
            {
                return(null);
            }

            PromocionInfo promo = PromocionInfo.Get(oidPromocion, false);


            doc.SetDataSource(pList);
            ((TextObject)(doc.Section1.ReportObjects["Duracion_TB"])).Text = duracion;
            if (promo != null)
            {
                ((TextObject)(doc.Section1.ReportObjects["Promocion_TB"])).Text = promo.Nombre;
            }
            doc.Subreports["AlumnosListSubRpt.rpt"].SetDataSource(alumnos);

            return(doc);
        }
        public SesionCronogramaListSubRpt GetSesionCronogramaListReport(CronogramaInfo cronograma,
                                                                        SesionCronogramaList sesiones, ModuloList modulos,
                                                                        ClaseTeoricaList teoricas, ClasePracticaList practicas)
        {
            if (cronograma == null)
            {
                return(null);
            }
            if (sesiones.Count == 0)
            {
                return(null);
            }

            SesionCronogramaListSubRpt doc = new SesionCronogramaListSubRpt();

            List <SesionCronogramaPrint> pList = new List <SesionCronogramaPrint>();

            foreach (SesionCronogramaInfo sesion in sesiones)
            {
                pList.Add(sesion.GetPrintObject(modulos, teoricas, practicas));
            }

            doc.SetDataSource(pList);
            doc.SetParameterValue("Empresa", Schema.Name);
            if (Schema.Oid == 2)
            {
                ((CrystalDecisions.CrystalReports.Engine.TextObject)(doc.Section5.ReportObjects["Text1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46);
            }

            return(doc);
        }
Beispiel #11
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);
        }
        /// <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";
        }
Beispiel #14
0
 public SesionCronogramaPrint GetPrintObject(ModuloList modulos, ClaseTeoricaList teoricas, ClasePracticaList practicas)
 {
     return(SesionCronogramaPrint.New(this, modulos, teoricas, practicas));
 }