Exemple #1
0
        public void ResetSesiones(bool limpiar)
        {
            ClasePracticaList practicas = null;

            if (_practicas.Count > 1)
            {
                practicas = ClasePracticaList.Merge(_practicas[1], _practicas[2]);
            }
            _combo_clases           = Submodulo.GetComboClases(_teoricas, practicas, _extras);
            _combo_clases.Childs    = _combo_instructores;
            Datos_Clases.DataSource = _combo_clases;

            if (_teoricas != null && _practicas != null && _extras != null && _generado)
            {
                foreach (ClaseTeoricaInfo clase in _teoricas)
                {
                    clase.Estado = 1;
                }
                foreach (ClasePracticaList lista in _practicas)
                {
                    foreach (ClasePracticaInfo clase in lista)
                    {
                        clase.Estado = 1;
                    }
                }
                foreach (ClaseExtraInfo clase in _extras)
                {
                    clase.Estado = 1;
                }
            }

            if (_lista_sesiones != null && limpiar && _generado)
            {
                foreach (SesionAuxiliar sesion in _lista_sesiones)
                {
                    sesion.AsignaClaseASesion((ClaseTeoricaInfo)null);
                }
            }

            _no_asignables = new List <SesionNoAsignable>();

            if (_lista_sesiones != null)
            {
                RellenaCasillas();
            }
        }
        protected void DoRefresh()
        {
            try
            {
                PgMng.Reset(8, 1, Resources.Messages.LOADING_DATA, this);

                for (int i = 1; i < 3; i++)
                {
                    _practicas[i] = ClasePracticaList.GetDisponiblesList(Entity.OidPlan, Entity.OidPromocion, Entity.Oid, i);
                }
                PgMng.Grow();

                _teoricas = ClaseTeoricaList.GetDisponiblesList(Entity.OidPlan, Entity.OidPromocion, Entity.Oid);
                PgMng.Grow();

                _extras = ClaseExtraList.GetDisponiblesList(Entity.OidPromocion, Entity.Oid);
                PgMng.Grow();

                profesores_encargados.GetEncargados(Entity.OidPlan, Entity.OidPromocion);
                PgMng.Grow();

                _combo_clases           = Submodulo.GetComboClases(_teoricas, ClasePracticaList.Merge(_practicas[1], _practicas[2]), _extras);
                Datos_Clases.DataSource = _combo_clases;
                PgMng.Grow();

                _instructores_asignados = Sesion.CargaSesionesProfesores(Entity.FechaInicial, Entity.OidPromocion);
                PgMng.Grow();

                _profesores = InstructorList.GetInstructoresHorariosList(EntityInfo.OidPromocion, EntityInfo.FechaInicial, EntityInfo.FechaFinal);
                PgMng.Grow();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                PgMng.FillUp();
            }
        }
        protected void RefreshHorario()
        {
            try
            {
                PgMng.Reset(7, 1, Resources.Messages.UPDATING_PROMOCION_HORARIO, this);

                for (int i = 1; i < 3; i++)
                {
                    _practicas[i] = ClasePracticaList.GetDisponiblesList(Entity.OidPlan, Entity.OidPromocion, Entity.Oid, i);
                }
                _teoricas = ClaseTeoricaList.GetDisponiblesList(Entity.OidPlan, Entity.OidPromocion, Entity.Oid);
                _extras   = ClaseExtraList.GetDisponiblesList(Entity.OidPromocion, Entity.Oid);
                PgMng.Grow(string.Empty, "clases");

                _instructores_asignados = Sesion.CargaSesionesProfesores(Entity.FechaInicial, Entity.OidPromocion);
                _profesores             = InstructorList.GetInstructoresHorariosList(EntityInfo.OidPromocion, EntityInfo.FechaInicial, EntityInfo.FechaFinal);

                _disponibilidades = _profesores.GetDisponibilidadesProfesores(_entity.FechaInicial);
                PgMng.Grow(string.Empty, "Instructores y profesores");

                //Se rellena el horario

                //_lista_sesiones = new ListaSesiones(Entity.FechaInicial);
                //ResetSesiones(false);
                PgMng.Grow(string.Empty, "lista sesiones");

                Horario.MuestraSesiones(Entity.Sesions, _lista_sesiones, _teoricas, ClasePracticaList.Merge(_practicas[1], _practicas[2]), _extras);

                _combo_clases           = Submodulo.GetComboClases(_teoricas, ClasePracticaList.Merge(_practicas[1], _practicas[2]), _extras);
                _combo_clases.Childs    = _combo_instructores;
                Datos_Clases.DataSource = _combo_clases;
                PgMng.Grow(string.Empty, "combo_clases");
            }
            finally
            {
                PgMng.FillUp();
            }
        }
Exemple #4
0
        private void Hojas_BT_Click(object sender, EventArgs e)
        {
            PrintSource seleccion = PrintSource.All;
            bool        alumno    = false;

            PartesPrintSelectForm form   = new PartesPrintSelectForm(seleccion);
            DialogResult          result = form.ShowDialog();

            if (result != DialogResult.Cancel)
            {
                if (form.Source == PrintSource.Selection)
                {
                    alumno = true;
                }
            }

            CronogramaReportMng reportMng = new CronogramaReportMng(AppContext.ActiveSchema);

            AlumnoList lista = AlumnoList.GetListByPromocion(_entity.OidPromocion, false);

            foreach (ParteAsistenciaInfo item in _entity.Asistencias)
            {
                AlumnoList alumnos = null;
                SesionInfo sesion  = null;

                foreach (SesionInfo ses in _entity.Sesions)
                {
                    if (ses.Fecha.ToShortDateString() == item.Fecha.ToShortDateString() &&
                        ses.Hora.ToShortTimeString() == DateTime.Parse(item.HoraInicio).ToShortTimeString())
                    {
                        sesion = ses;
                        break;
                    }
                }

                alumnos = AlumnoList.CreateAlumnosList(lista, item.Alumno_Partes);

                if (item.Sesiones != string.Empty && alumnos.Count > 0)
                {
                    if (item.Tipo == 2 || sesion.OidClasePractica > 0)
                    {
                        ReportViewer.SetReport(reportMng.GetDetailPracticasReport(sesion, alumnos, item.NHoras,
                                                                                  _teoricas, /*ClasePracticaList.Merge(_practicas[1], _practicas[2])*/
                                                                                  ClasePracticaList.GetClasesPlanList(_entity.OidPlan), _extras, item.Texto, _entity.OidPromocion, alumno));
                    }
                    else
                    {
                        ReportViewer.SetReport(reportMng.GetDetailTeoricasReport(sesion, alumnos, item.NHoras,
                                                                                 _teoricas, ClasePracticaList.Merge(_practicas[1], _practicas[2]), _extras, item.Texto, _entity.OidPromocion, alumno));
                    }
                }

                ReportViewer.ShowDialog();
            }
        }
Exemple #5
0
        protected void DoHorario()
        {
            try
            {
                PgMng.Reset(12, 1, Resources.Messages.UPDATING_PROMOCION_HORARIO, this);
                //Se rellena lo referente al plan
                if (_planes == null)
                {
                    return;
                }

                if (EntityInfo.Plan == null)
                {
                    Plan_CB.Text = _planes.GetItem(EntityInfo.OidPlan).Nombre;
                }
                else
                {
                    Plan_CB.Text = EntityInfo.Plan;
                }
                PgMng.Grow(string.Empty, "Plan");

                //Se rellena lo referente a la promoción
                if (_promociones == null)
                {
                    return;
                }

                if (EntityInfo.Promocion != string.Empty && EntityInfo.Promocion != null)
                {
                    Promocion_CB.Text = EntityInfo.Promocion;
                }
                else
                {
                    Promocion_CB.Text = _promociones.GetItem(EntityInfo.OidPromocion).Nombre;
                }
                PgMng.Grow(string.Empty, "Promocion");

                DateTime hoy = DateTime.Today;

                // si la fecha del horario que se va a cargar es anterior a la del día en el que se edita
                // no se tiene en cuenta si las clases sesiones planificadas se han impartido o no para meterlas
                // en las lista, ya que de ningún modo se va a permitir modificar un horario antiguo
                if (hoy.Date >= EntityInfo.FechaInicial)
                {
                    hoy = EntityInfo.FechaInicial;
                }
                else
                {
                    while (hoy.DayOfWeek != DayOfWeek.Monday)
                    {
                        hoy = hoy.AddDays(-1);
                    }
                }
                PgMng.Grow(string.Empty, "Hoy");

                for (int i = 1; i < 3; i++)
                {
                    if (_practicas.Count <= i)
                    {
                        _practicas.Add(ClasePracticaList.GetDisponiblesList(EntityInfo.OidPlan, EntityInfo.OidPromocion, EntityInfo.Oid, i));
                    }
                }
                if (_teoricas == null)
                {
                    _teoricas = ClaseTeoricaList.GetDisponiblesList(EntityInfo.OidPlan, EntityInfo.OidPromocion, EntityInfo.Oid);
                }
                if (_extras == null)
                {
                    _extras = ClaseExtraList.GetDisponiblesList(EntityInfo.OidPromocion, EntityInfo.Oid);
                }
                PgMng.Grow(string.Empty, "clases");

                _day = Fecha_DTP.Value;
                while (_day.DayOfWeek != System.DayOfWeek.Monday)
                {
                    _day = _day.AddDays(-1);
                }

                this.Text = Resources.Labels.HORARIO_ADD_TITLE +
                            "De Lunes, " + _day.ToShortDateString() +
                            " A Sábado, " + _day.AddDays(5).ToShortDateString();

                if (_day < Fecha_DTP.MinDate)
                {
                    Fecha_DTP.Value = Fecha_DTP.MinDate;
                }
                else
                {
                    Fecha_DTP.Value = _day;
                }
                PgMng.Grow(string.Empty, "Fecha_DTP");

                if (_instructores_asignados == null)
                {
                    _instructores_asignados = Sesion.CargaSesionesProfesores(EntityInfo.FechaInicial, EntityInfo.OidPromocion);
                }
                if (_profesores == null)
                {
                    _profesores = InstructorList.GetList(true);
                }

                _disponibilidades = _profesores.GetDisponibilidadesProfesores(_entity.FechaInicial);
                PgMng.Grow(string.Empty, "Instructores y profesores");

                CLB_1.SetItemChecked(0, EntityInfo.H8AM);
                CLB_1.SetItemChecked(1, EntityInfo.H0);
                CLB_1.SetItemChecked(2, EntityInfo.H1);
                CLB_1.SetItemChecked(3, EntityInfo.H2);
                CLB_1.SetItemChecked(4, EntityInfo.H3);
                CLB_1.SetItemChecked(5, EntityInfo.H4);
                CLB_1.SetItemChecked(6, EntityInfo.H5);
                CLB_1.SetItemChecked(7, EntityInfo.H6);
                CLB_1.SetItemChecked(8, EntityInfo.H7);
                CLB_1.SetItemChecked(9, EntityInfo.H8);
                CLB_1.SetItemChecked(10, EntityInfo.H9);
                CLB_1.SetItemChecked(11, EntityInfo.H10);
                CLB_1.SetItemChecked(12, EntityInfo.H11);
                CLB_1.SetItemChecked(13, EntityInfo.H12);

                CLB_2.SetItemChecked(0, EntityInfo.Hs0);
                CLB_2.SetItemChecked(1, EntityInfo.Hs1);
                CLB_2.SetItemChecked(2, EntityInfo.Hs2);
                CLB_2.SetItemChecked(3, EntityInfo.Hs3);
                CLB_2.SetItemChecked(4, EntityInfo.Hs4);
                PgMng.Grow(string.Empty, "Lista horas");

                //Se rellena la fecha
                Fecha_DTP.Value = EntityInfo.FechaInicial;
                this.Text       = Resources.Labels.HORARIO_ADD_TITLE +
                                  "De Lunes, " + EntityInfo.FechaInicial.ToShortDateString() +
                                  " A Sábado, " + EntityInfo.FechaInicial.AddDays(5).ToShortDateString();
                PgMng.Grow(string.Empty, "string fechas");

                //Se rellena el horario
                if (_lista_sesiones == null)
                {
                    _lista_sesiones = new ListaSesiones(EntityInfo.FechaInicial);
                    //ResetSesiones(false);
                    PgMng.Grow(string.Empty, "lista sesiones");

                    Horario.MuestraSesiones(EntityInfo.Sesions, _lista_sesiones, _teoricas, ClasePracticaList.Merge(_practicas[1], _practicas[2]), _extras);
                }

                Confirmar_BT.Enabled = true;
                Marcar_BT.Enabled    = true;
                Generar_BT.Enabled   = true;
                PgMng.Grow(string.Empty, "MuestraSesiones");

                if (_combo_clases == null)
                {
                    _combo_clases = Submodulo.GetComboClases(_teoricas, ClasePracticaList.Merge(_practicas[1], _practicas[2]), _extras);
                }
                _combo_clases.Childs    = _combo_instructores;
                Datos_Clases.DataSource = _combo_clases;
                PgMng.Grow(string.Empty, "combo_clases");

                Lunes_LB.Text = "LUNES (" + EntityInfo.FechaInicial.Day.ToString("00") + "/" +
                                EntityInfo.FechaInicial.Month.ToString("00") + ")";
                Martes_LB.Text = "MARTES (" + EntityInfo.FechaInicial.AddDays(1).Day.ToString("00") + "/" +
                                 EntityInfo.FechaInicial.AddDays(1).Month.ToString("00") + ")";
                Miercoles_LB.Text = "MIÉRCOLES (" + EntityInfo.FechaInicial.AddDays(2).Day.ToString("00") + "/" +
                                    EntityInfo.FechaInicial.AddDays(2).Month.ToString("00") + ")";
                Jueves_LB.Text = "JUEVES (" + EntityInfo.FechaInicial.AddDays(3).Day.ToString("00") + "/" +
                                 EntityInfo.FechaInicial.AddDays(3).Month.ToString("00") + ")";
                Viernes_LB.Text = "VIERNES (" + EntityInfo.FechaInicial.AddDays(4).Day.ToString("00") + "/" +
                                  EntityInfo.FechaInicial.AddDays(4).Month.ToString("00") + ")";
                Sabado_LB.Text = "SÁBADO (" + EntityInfo.FechaInicial.AddDays(5).Day.ToString("00") + "/" +
                                 EntityInfo.FechaInicial.AddDays(5).Month.ToString("00") + ")";
            }
            finally
            {
                PgMng.FillUp();
            }
        }
        public void ResetSesiones(bool limpiar)
        {
            ClasePracticaList practicas = null;

            if (_practicas.Count > 1)
            {
                practicas = ClasePracticaList.Merge(_practicas[1], _practicas[2]);
            }
            _combo_clases           = Submodulo.GetComboClases(_teoricas, practicas, _extras);
            _combo_clases.Childs    = _combo_instructores;
            Datos_Clases.DataSource = _combo_clases;


            if (_lista_sesiones != null && limpiar /*&& _generado*/)
            {
                foreach (SesionAuxiliar sesion in _lista_sesiones)
                {
                    if (sesion.EEstadoClase != EEstadoClase.Impartida)
                    {
                        if (sesion.OidClaseTeorica > 0)
                        {
                            _teoricas.GetItem(sesion.OidClaseTeorica).Estado = 1;
                        }
                        if (sesion.OidClaseExtra > 0)
                        {
                            _extras.GetItem(sesion.OidClaseExtra).Estado = 1;
                        }
                        if (sesion.OidClasePractica > 0)
                        {
                            _practicas[(int)sesion.Grupo].GetItem(sesion.OidClasePractica).Estado = 1;
                        }

                        sesion.AsignaClaseASesion((ClaseTeoricaInfo)null);
                    }
                }
            }
            else
            {
                if (_teoricas != null && _practicas != null && _extras != null /*&& _generado*/)
                {
                    foreach (ClaseTeoricaInfo clase in _teoricas)
                    {
                        if (clase.EEstadoClase != EEstadoClase.Impartida)
                        {
                            clase.Estado = 1;
                        }
                    }
                    foreach (ClasePracticaList lista in _practicas)
                    {
                        foreach (ClasePracticaInfo clase in lista)
                        {
                            if (clase.EEstadoClase != EEstadoClase.Impartida)
                            {
                                clase.Estado = 1;
                            }
                        }
                    }
                    foreach (ClaseExtraInfo clase in _extras)
                    {
                        if (clase.Estado != (long)EEstadoClase.Impartida)
                        {
                            clase.Estado = 1;
                        }
                    }
                }
            }

            _no_asignables = new List <SesionNoAsignable>();

            if (_lista_sesiones != null)
            {
                RellenaCasillas();
            }
        }
        protected void DoNuevoHorario()
        {
            try
            {
                PgMng.Reset(10, 1, Resources.Messages.CREANDO_HORARIO, this);

                if (this is HorarioAddForm && Horario.ExisteHorario(Entity.OidPlan, Entity.OidPromocion, Entity.FechaInicial))
                {
                    MessageBox.Show("Ya existe un horario para la promoción y fecha indicadas, si lo desea modifique el que ya existe.");
                    PgMng.FillUp();
                    return;
                }

                profesores_encargados.GetEncargados(Entity.OidPlan, Entity.OidPromocion);
                PgMng.Grow();

                _combo_clases           = Submodulo.GetComboClases(_teoricas, ClasePracticaList.Merge(_practicas[1], _practicas[2]), _extras);
                Datos_Clases.DataSource = _combo_clases;
                PgMng.Grow();

                _instructores_asignados = Sesion.CargaSesionesProfesores(Entity.FechaInicial, Entity.OidPromocion);
                PgMng.Grow();

                if (_profesores == null)
                {
                    _profesores = InstructorList.GetInstructoresHorariosList(EntityInfo.OidPromocion, EntityInfo.FechaInicial, EntityInfo.FechaFinal);
                }
                PgMng.Grow();

                CleanAction();
                PgMng.Grow(string.Empty, "CleanAction");

                if (_generado)
                {
                    ResetNoConfirmadas();
                }
                PgMng.Grow(string.Empty, "ResetNoConfirmadas");

                if (_lista_sesiones == null)
                {
                    _lista_sesiones = new ListaSesiones(Entity.FechaInicial);
                }

                if (!Entity.FechaInicial.Date.Equals(_lista_sesiones[0].Fecha.Date))
                {
                    DateTime fecha = Entity.FechaInicial;
                    for (int i = 0; i < 70; i += 14)
                    {
                        _lista_sesiones[i].Fecha      = fecha;
                        _lista_sesiones[i + 1].Fecha  = fecha;
                        _lista_sesiones[i + 2].Fecha  = fecha;
                        _lista_sesiones[i + 3].Fecha  = fecha;
                        _lista_sesiones[i + 4].Fecha  = fecha;
                        _lista_sesiones[i + 5].Fecha  = fecha;
                        _lista_sesiones[i + 6].Fecha  = fecha;
                        _lista_sesiones[i + 7].Fecha  = fecha;
                        _lista_sesiones[i + 8].Fecha  = fecha;
                        _lista_sesiones[i + 9].Fecha  = fecha;
                        _lista_sesiones[i + 10].Fecha = fecha;
                        _lista_sesiones[i + 11].Fecha = fecha;
                        _lista_sesiones[i + 12].Fecha = fecha;
                        _lista_sesiones[i + 13].Fecha = fecha;
                        fecha = fecha.AddDays(1);
                    }
                    for (int i = 70; i < 75; i++)
                    {
                        _lista_sesiones[i].Fecha = fecha;
                    }
                }

                _lista_sesiones = Entity.SetSesionesActivas(_lista_sesiones);
                PgMng.Grow(string.Empty, "Entity.SetSesionesActivas");

                decimal n_practicas = 11;
                if (Practicas_CB.Checked)
                {
                    n_practicas = NPracticas.Value;
                }

                HorarioController controlador = new HorarioController(_entity, _lista_sesiones,
                                                                      _teoricas, _practicas, _extras, _profesores,
                                                                      profesores_encargados, _instructores_asignados,
                                                                      _disponibilidades, n_practicas, DiasSuplente.Value);

                controlador.Rules[(int)TRule.MismoInstructorMismaSesion] = !MismoInstructorMismaSesion_CB.Checked;
                controlador.Rules[(int)TRule.MismoInstructorMismoDia]    = !MismoInstructorMismoDia_CB.Checked;

                controlador.GeneraHorario(_no_asignables);
                PgMng.Grow(string.Empty, "Generación de horario");

                RellenaCasillas();
                PgMng.Grow(string.Empty, "Rellenar Casillas");

                Completar_BT.Enabled = false;
                Marcar_BT.Enabled    = true;
                Clean_BT.Enabled     = true;
                if (this is HorarioEditForm)
                {
                    Confirmar_BT.Enabled = true;
                }
                _generado = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                PgMng.FillUp();
            }
        }