public override void RefreshSecondaryData() { Plan_TB.Text = PlanEstudiosInfo.Get(_entity.OidPlan).Nombre; PgMng.Grow(string.Empty, "Plan_TB"); Promocion_TB.Text = PromocionInfo.Get(_entity.OidPromocion).Nombre; PgMng.Grow(string.Empty, "Promocion_TB"); }
protected override void MergePlanesAction() { PlanEstudiosSelectForm form = new PlanEstudiosSelectForm(true, this); DialogResult result = form.ShowDialog(); if (result == DialogResult.OK) { PlanEstudiosInfo info = form.Selected as PlanEstudiosInfo; if (info.Oid != _entity.Oid) { _entity.Merge(info.Oid); } } }
//public override void PrintObject() //{ //} //#endregion //#region Buttons //protected override void PrintAction() //{ // switch (TabControl.SelectedTab.Name) // { // case "General_TP": // { // PrintObject(); // } break; // default: // { // PrintSelectSkinForm psform = new PrintSelectSkinForm(true); // psform.EnableDetail(false); // psform.ShowDialog(); // if (psform.DialogResult == DialogResult.Cancel) return; // switch (TabControl.SelectedTab.Name) // { // case "Redes_TP": // { // PrintData(Entidad.Red, psform.Source, psform.Type); // } break; // } // } break; // } //} #endregion #region Buttons /// <summary> /// Implementa Save_button_Click /// </summary> protected override void SaveAction() { #if TRACE moleQule.Library.Timer t = new moleQule.Library.Timer(); #endif if (!_generado) { MessageBox.Show("No se ha generado ningún cronograma"); _action_result = DialogResult.Ignore; return; } else { _entity.FechaCreacion = DateTime.Today; if (_entity.Plan == string.Empty) { PlanEstudiosInfo plan = PlanEstudiosInfo.Get(_entity.OidPlan, false); if (plan != null) { _entity.Plan = plan.Nombre; } } if (_entity.Promocion == string.Empty) { PromocionInfo promocion = PromocionInfo.Get(_entity.OidPromocion, false); if (promocion != null) { _entity.Promocion = promocion.Nombre; } } foreach (Sesion_Promocion item in _entity.Configuracion) { item.HoraInicio = DateTime.Parse(item.Hora); } #if TRACE t.Record("FechaCreacion"); #endif _action_result = SaveObject() ? DialogResult.OK : DialogResult.Ignore; } }
protected override void GetFormSourceData(long oid) { _entity = PlanEstudiosInfo.Get(oid, true); _mf_type = ManagerFormType.MFView; }
protected override void DoPromociones() { try { PgMng.Reset(15, 1, Resources.Messages.UPDATING_PROMOCION_HORARIO, this); 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 >= Entity.FechaInicial) { hoy = Entity.FechaInicial; } else { while (hoy.DayOfWeek != DayOfWeek.Monday) { hoy = hoy.AddDays(-1); } } for (int i = 1; i < 3; i++) { ClasePracticaList practicas = ClasePracticaList.GetDisponiblesList(Entity.OidPlan, Entity.OidPromocion, Entity.Oid, i); if (_practicas.Count <= i) { _practicas.Add(practicas); } else { _practicas[i] = practicas; } PgMng.Grow(string.Empty, "Rellena clases prácticas grupo " + i.ToString()); } _teoricas = ClaseTeoricaList.GetDisponiblesList(Entity.OidPlan, Entity.OidPromocion, Entity.Oid); PgMng.Grow(string.Empty, "Rellena clases teóricas"); _extras = ClaseExtraList.GetDisponiblesList(Entity.OidPromocion, Entity.Oid); PgMng.Grow(string.Empty, "Rellena clases extra"); //_combo_clases = Submodulo.GetComboClases(_teoricas, ClasePracticaList.Merge(_practicas[1],_practicas[2]), _extras); //pmg.Grow("combo clases"); //pmg.Grow("Rellena fecha"); while (_day.DayOfWeek != System.DayOfWeek.Monday) { _day = _day.AddDays(-1); } Fecha_DTP.Value = _day; DoSetFecha(); if (Promocion_CB.SelectedItem != null) { //ResetSesiones(false); PgMng.Grow(string.Empty, "reset sesiones"); _profesores = InstructorList.GetInstructoresHorariosList(((ComboBoxSource)Promocion_CB.SelectedItem).Oid, EntityInfo.FechaInicial, EntityInfo.FechaFinal); } if (_profesores != null) { _disponibilidades = _profesores.GetDisponibilidadesProfesores(_day); } PgMng.Grow(string.Empty, "_profesores"); if (Entity.OidPromocion != 0) { PromocionInfo promocion = _promociones.GetItem(Entity.OidPromocion); _entity.Promocion = promocion.Nombre; PlanEstudiosInfo plan = _planes.GetItem(promocion.OidPlan); _entity.Plan = plan.Nombre; PgMng.Grow(string.Empty, "Promociones"); //_profesores = InstructorList.GetInstructoresHorariosList(Entity.OidPromocion); PgMng.Grow(string.Empty, "GetInstructoresHorarioList"); CLB_1.SetItemChecked(0, promocion.H8AM); CLB_1.SetItemChecked(1, promocion.H0); CLB_1.SetItemChecked(2, promocion.H1); CLB_1.SetItemChecked(3, promocion.H2); CLB_1.SetItemChecked(4, promocion.H3); CLB_1.SetItemChecked(5, promocion.H4); CLB_1.SetItemChecked(6, promocion.H5); CLB_1.SetItemChecked(7, promocion.H6); CLB_1.SetItemChecked(8, promocion.H7); CLB_1.SetItemChecked(9, promocion.H8); CLB_1.SetItemChecked(10, promocion.H9); CLB_1.SetItemChecked(11, promocion.H10); CLB_1.SetItemChecked(12, promocion.H11); CLB_1.SetItemChecked(13, promocion.H12); CLB_2.SetItemChecked(0, promocion.HS0); CLB_2.SetItemChecked(1, promocion.HS1); CLB_2.SetItemChecked(2, promocion.HS2); CLB_2.SetItemChecked(3, promocion.HS3); CLB_2.SetItemChecked(4, promocion.HS4); PgMng.Grow(string.Empty, "SetItemChecked"); Entity.CopiaConfiguracion(promocion); } PgMng.Grow(string.Empty, "Inicializa horas disponibles"); if (!_generado) { Generar_BT.Enabled = true; } Instructores_BT.Enabled = true; Planes_BT.Enabled = true; Disponibilidades_BT.Enabled = true; if (_lista_sesiones == null) { _lista_sesiones = new ListaSesiones(Entity.FechaInicial); } RellenaCasillas(); } finally { PgMng.FillUp(); } }
private void DoGeneraCronograma() { PgMng.Reset(10, 1, Resources.Messages.GENERANDO_CRONOGRAMA, this); try { int clases_dia = 0; int clases_sabado = 0; int total_dias = 5; PgMng.Grow(); List <bool> activas_dia = new List <bool>(); if (CLB_1.CheckedIndices.Contains(0)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_1.CheckedIndices.Contains(1)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_1.CheckedIndices.Contains(2)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_1.CheckedIndices.Contains(3)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_1.CheckedIndices.Contains(4)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_1.CheckedIndices.Contains(5)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_1.CheckedIndices.Contains(6)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_1.CheckedIndices.Contains(7)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_2.CheckedIndices.Contains(0)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_2.CheckedIndices.Contains(1)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_2.CheckedIndices.Contains(2)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_2.CheckedIndices.Contains(3)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_2.CheckedIndices.Contains(4)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } if (CLB_2.CheckedIndices.Contains(5)) { clases_dia++; activas_dia.Add(true); } else { activas_dia.Add(false); } PgMng.Grow(); List <bool> activas_sabado = new List <bool>(); if (CLB_3.CheckedIndices.Contains(0)) { clases_sabado++; activas_sabado.Add(true); } else { activas_sabado.Add(false); } if (CLB_3.CheckedIndices.Contains(1)) { clases_sabado++; activas_sabado.Add(true); } else { activas_sabado.Add(false); } if (CLB_3.CheckedIndices.Contains(2)) { clases_sabado++; activas_sabado.Add(true); } else { activas_sabado.Add(false); } if (CLB_3.CheckedIndices.Contains(3)) { clases_sabado++; activas_sabado.Add(true); } else { activas_sabado.Add(false); } if (CLB_3.CheckedIndices.Contains(4)) { clases_sabado++; activas_sabado.Add(true); } else { activas_sabado.Add(false); } PgMng.Grow(); if (clases_sabado > 0) { total_dias = 6; } _entity.Configuracion = Sesiones_Promociones.NewChildList(); for (int row_index = 0; row_index < Datos_Sesiones.List.Count; row_index++) { Sesion_Promocion sp = Sesion_Promocion.NewChild(_entity); Sesion_Promocion sp_row = ((Sesion_Promocion)Datos_Sesiones.List[row_index]); sp.Hora = sp_row.Hora; sp.HoraInicio = sp_row.HoraInicio; sp.NHoras = sp_row.NHoras; _entity.Configuracion.Add(sp); } moleQule.Library.Timer t = new moleQule.Library.Timer(); //t.Start(); //t.Record("inicio"); PromocionInfo promocion = PromocionInfo.Get(_entity.OidPromocion, false); PlanEstudiosInfo plan = PlanEstudiosInfo.Get(_entity.OidPlan, false); if (promocion != null) { if (_entity.GeneraCronograma(promocion.Oid != 0 ? promocion.FechaInicio : plan.Fecha, DateTime.MaxValue, (int)Semana_NUD.Value, clases_dia, clases_sabado, total_dias, (int)Practicas_NUD.Value, t, activas_dia, activas_sabado)) { //t.Record("fin"); //MessageBox.Show(t.GetCronos()); //t.Record("GeneraCronograma"); //MessageBox.Show("Cronograma generado con éxito"); _generado = true; } else { MessageBox.Show("No se ha podido generar el cronograma.\n" + "Compruebe que no se hayan eliminado clases que ya estuvieran planificadas."); _generado = false; } } else { MessageBox.Show("No se ha podido generar el cronograma.\n" + "Seleccione una promoción."); _generado = false; } //Generar_BT.Enabled = false; PgMng.Grow(); } finally { PgMng.FillUp(); } if (_generado) { PgMng.ShowInfoException(Resources.Messages.CRONOGRAMA_GENERADO_CON_EXITO); Submit_BT.PerformClick(); } }