protected override void RellenaPromociones() { if (_entity.Promociones == null) { return; } _promociones_select = new Dictionary <string, PromocionInfo>(); foreach (ExamenPromocionInfo item in _entity.Promociones) { PromocionInfo info = promociones.GetItem(item.OidPromocion); if (info != null) { _promociones_select.Add(info.Numero + " - " + info.Nombre, info); } } Promociones_CLB.Items.Clear(); foreach (KeyValuePair <string, PromocionInfo> item in _promociones_select) { Promociones_CLB.Items.Add(item.Key, true); } }
public DateSelectForm(PromocionInfo promo, bool IsModal, Form parent) : base(IsModal, parent) { _promocion = promo; InitializeComponent(); SetFormData(); }
private void Filtrar_BT_Click(object sender, EventArgs e) { while (Arbol_TV.Nodes.Count != 0) { int count = Arbol_TV.Nodes.Count - 1; for (int i = count; i >= 0; i--) { Arbol_TV.Nodes.Remove(Arbol_TV.Nodes[i]); } } if (((ComboBoxSource)Promocion_CB.SelectedItem).Oid == 0) { foreach (PromocionInfo item in _promociones) { SetAlumnosValues(null, item); } } else { PromocionInfo p = _promociones.GetItem(((ComboBoxSource)Promocion_CB.SelectedItem).Oid); if (p != null) { SetAlumnosValues(null, p); } } }
private void Arbol_TV_AfterCheck(object sender, TreeViewEventArgs e) { if (e.Node.Level == 0) { foreach (TreeNode t in e.Node.Nodes) { t.Checked = e.Node.Checked; } } else { if (e.Node.Level == 1) { AlumnoInfo alumno = e.Node.Tag as AlumnoInfo; foreach (Alumno_PromocionInfo item in alumno.Promociones) { foreach (TreeNode t in Arbol_TV.Nodes) { PromocionInfo promocion = t.Tag as PromocionInfo; if (promocion.Oid == item.OidPromocion) { foreach (TreeNode n in t.Nodes) { if ((n.Tag as AlumnoInfo).Oid == alumno.Oid && n.Checked != e.Node.Checked) { n.Checked = e.Node.Checked; } } break; } } } } } }
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"); }
/// <summary> /// Implementa Save_button_Click /// </summary> protected override void SubmitAction() { AlumnoInfo alumno = TodosAlumno_CkB.Checked ? null : _alumno; PromocionInfo promocion = TodosPromocion_CkB.Checked ? null : _promocion; string filtro = GetFilterValues(); AlumnoReportMng reportMng = new AlumnoReportMng(AppContext.ActiveSchema, string.Empty, filtro); AlumnoList alumnos = GetAlumnoList(alumno, promocion); PromocionList promos = GetPromocionList(promocion); if (Documentos_CLB.GetItemCheckState(0) == CheckState.Checked) { MatriculaPromocionRpt rpt = reportMng.GetMatriculaPromocionReport(alumnos, promos); if (rpt != null) { ReportViewer.SetReport(rpt); ReportViewer.ShowDialog(); } else { MessageBox.Show(moleQule.Face.Resources.Messages.NO_DATA_REPORTS); } } /*if (Documentos_CLB.GetItemCheckState(1) == CheckState.Checked) * { * MatriculaPromocionRpt rpt = reportMng.GetMatriculaPromocionReport(list, promocion); * * if (rpt != null) * { * ReportViewer.SetReport(rpt); * ReportViewer.ShowDialog(); * } * else * MessageBox.Show(moleQule.Face.Resources.Messages.NO_DATA_REPORTS); * }*/ if (Documentos_CLB.GetItemCheckState(2) == CheckState.Checked) { DocumentacionRpt rpt = reportMng.GetDocumentacionReport(alumnos, promos); if (rpt != null) { ReportViewer.SetReport(rpt); ReportViewer.ShowDialog(); } else { MessageBox.Show(moleQule.Face.Resources.Messages.NO_DATA_REPORTS); } } _action_result = DialogResult.OK; }
private void Producto_BT_Click(object sender, EventArgs e) { PromocionSelectForm form = new PromocionSelectForm(this); if (form.ShowDialog() == DialogResult.OK) { _promocion = form.Selected as PromocionInfo; Promocion_TB.Text = _promocion.Nombre; } }
protected override void RellenaPromociones() { if (_entity.Promociones == null) { return; } try { _promociones_select = new Dictionary <string, PromocionInfo>(); foreach (ExamenPromocion item in _entity.Promociones) { PromocionInfo info = promociones.GetItem(item.OidPromocion); if (info != null) { _promociones_select.Add(info.Numero + " - " + info.Nombre, info); } } //Promociones_CLB.Items.Clear(); foreach (KeyValuePair <string, PromocionInfo> item in _promociones_todas) { if (_promociones_select.ContainsKey(item.Key)) { int index = Promociones_CLB.Items.IndexOf(item.Key); if (index >= 0) { if (Promociones_CLB.GetItemCheckState(index) == CheckState.Unchecked) { Promociones_CLB.SetItemChecked(index, true); } } else { Promociones_CLB.Items.Add(item.Key, true); } } else { int index = Promociones_CLB.Items.IndexOf(item.Key); if (index >= 0) { if (Promociones_CLB.GetItemCheckState(index) == CheckState.Checked) { Promociones_CLB.SetItemChecked(index, false); } } } } } catch { throw new iQException("RellenaPromociones"); } }
public ClasesPracticasProgramadasForm(bool isModal, Form parent, ClasePracticaList list, PromocionInfo promocion) : base(isModal, parent, list) { InitializeComponent(); _view_mode = molView.Select; _promocion = promocion; // Parche para poder abrir el formulario en modo diseño y no perder la configuracion de columnas DatosLocal_BS = Datos; Tabla.DataSource = DatosLocal_BS; SetMainDataGridView(Tabla); Datos.DataSource = ClasePracticaList.NewList().GetSortedList(); }
public ClasesTeoricasDisponiblesForm(bool isModal, Form parent, ClaseTeoricaList list, PromocionInfo promocion) : base(isModal, parent, list) { InitializeComponent(); _view_mode = molView.Select; _promocion = promocion; // Parche para poder abrir el formulario en modo diseño y no perder la configuracion de columnas DatosLocal_BS = Datos; Tabla.DataSource = DatosLocal_BS; SetMainDataGridView(Tabla); Datos.DataSource = ClaseTeoricaList.NewList().GetSortedList(); this.Text = Resources.Labels.CLASE_HORARIO_TITLE; }
private void Promocion_BT_Click(object sender, EventArgs e) { if (promociones == null) { return; } if (this is ExamenViewForm) { return; } try { PromocionSelectForm form = new PromocionSelectForm(this, promociones); if (form.ShowDialog(this) == DialogResult.OK) { if (form.Selected is PromocionInfo) { PromocionInfo info = form.Selected as PromocionInfo; ExamenPromocion item = Entity.Promociones.GetItem(new FCriteria <long>("OidPromocion", info.Oid)); if (item == null) { ExamenPromocion nuevo = Entity.Promociones.NewItem(Entity); nuevo.OidPromocion = info.Oid; } } else if (form.Selected is SortedBindingList <PromocionInfo> ) { SortedBindingList <PromocionInfo> promos = form.Selected as SortedBindingList <PromocionInfo>; foreach (PromocionInfo info in promos) { ExamenPromocion item = Entity.Promociones.GetItem(new FCriteria <long>("OidPromocion", info.Oid)); if (item == null) { ExamenPromocion nuevo = Entity.Promociones.NewItem(Entity); nuevo.OidPromocion = info.Oid; } } } RellenaPromociones(); } } catch { throw new iQException("Promocion_BT_Click"); } }
/// <summary> /// Asigna el objeto principal al origen de datos /// <returns>void</returns> /// </summary> protected override void RefreshMainData() { Datos.DataSource = _entity; if (!_editable) { Promocion_CB.SelectedValue = _entity.OidPromocion; Tipo_CB.SelectedItem = _combo_tipo.Buscar(_entity.Tipo); foreach (ExamenPromocion item in _entity.Promociones) { PromocionInfo info = _promociones.GetItem(item.OidPromocion); _promociones_select.Add(info.Numero + " - " + info.Nombre, info); Promociones_CLB.Items.Add(info.Numero + " - " + info.Nombre, true); } } }
protected PromocionList GetPromocionList(PromocionInfo promocion) { List <PromocionInfo> promociones = new List <PromocionInfo>(); PromocionList list; if (promocion != null) { promociones.Add(promocion); list = PromocionList.GetList(promociones); } else { list = PromocionList.GetList(false); } return(list); }
private void Promocion_BT_Click(object sender, EventArgs e) { PromocionList lista_promociones = PromocionList.GetList(false); if (_promociones_todas.Count == 0) { foreach (PromocionInfo info in lista_promociones) { _promociones_todas.Add(info.Numero + " - " + info.Nombre, info); } } PromocionSelectForm form = new PromocionSelectForm(this, lista_promociones); if (form.ShowDialog(this) == DialogResult.OK) { if (form.Selected is PromocionInfo) { PromocionInfo info = form.Selected as PromocionInfo; if (!_promociones.ContainsKey(info.Numero + " - " + info.Nombre)) { _promociones.Add(info.Numero + " - " + info.Nombre, info); } } else if (form.Selected is SortedBindingList <PromocionInfo> ) { SortedBindingList <PromocionInfo> promociones = form.Selected as SortedBindingList <PromocionInfo>; foreach (PromocionInfo info in promociones) { if (!_promociones.ContainsKey(info.Numero + " - " + info.Nombre)) { _promociones.Add(info.Numero + " - " + info.Nombre, info); } } } Promociones_CLB.Items.Clear(); foreach (KeyValuePair <string, PromocionInfo> item in _promociones) { Promociones_CLB.Items.Add(item.Key, true); } } }
private void Promociones_CLB_ItemCheck(object sender, ItemCheckEventArgs e) { if (this is ExamenViewForm) { return; } if (e.NewValue == e.CurrentValue) { return; } try { PromocionInfo promo = _promociones_todas[Promociones_CLB.Items[e.Index].ToString()]; if (e.NewValue == CheckState.Unchecked) { ExamenPromocion item = Entity.Promociones.GetItem(new FCriteria <long>("OidPromocion", promo.Oid)); foreach (Alumno_Examen alumno in Entity.Alumnos) { if (alumno.OidPromocion == promo.Oid) { MessageBox.Show("No se puede eliminar un curso que tiene alumnos incluidos en el examen."); return; } } Entity.Promociones.Remove(item); RellenaPromociones(); } else if (e.NewValue == CheckState.Checked) { ExamenPromocion esta = Entity.Promociones.GetItem(new FCriteria <long>("OidPromocion", promo.Oid)); if (esta == null) { ExamenPromocion item = Entity.Promociones.NewItem(Entity); item.OidPromocion = promo.Oid; RellenaPromociones(); } } } catch { throw new iQException("Promociones_CLB_ItemCheck"); } }
//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 AlumnoList GetAlumnoList(AlumnoInfo alumno, PromocionInfo promocion) { List <AlumnoInfo> alumnos = new List <AlumnoInfo>(); AlumnoList list; if (alumno != null) { alumnos.Add(alumno); list = AlumnoList.GetList(alumnos); } else { if (promocion != null) { list = AlumnoList.GetListByPromocion(promocion.Oid, false); } else { list = AlumnoList.GetList(false); } } return(list); }
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(); } }
protected override bool CrearPartes() { int count = 0; long oid_modulo = 0; int index = 0; PgMng.Reset(4, 1, Resources.Messages.CREANDO_PARTES_ASISTENCIA, this); try { PromocionInfo promo = PromocionInfo.Get(_entity.OidPromocion, true); AlumnoList alumnos = AlumnoList.GetListByPromocion(promo.Oid, true); if (promo.Sesiones.Count == 0) { Promocion promocion = Promocion.Get(_entity.OidPromocion, false); promocion.LoadChilds(typeof(Sesion_Promocion)); List <List <long> > duracion_sesiones = _entity.RellenaHorasSemana(); foreach (List <long> lista in duracion_sesiones) { foreach (long item in lista) { Sesion_Promocion ses = Sesion_Promocion.NewChild(promocion); ses.NHoras = duracion_sesiones.IndexOf(lista) + 1; if (item > 69) { ses.Sabado = true; } ses.HoraInicio = DateTime.Parse((item % 14 + 10).ToString("00") + ":00"); promocion.Sesiones.Add(ses); } } promo = promocion.GetInfo(true); promocion.CloseSession(); } PgMng.Grow(); foreach (Sesion item in _entity.Sesions) { //Desmarca las clases que han sido marcadas como impartidas pero que tienen //fecha y horas mayor que la actual if (item.Fecha.Date > DateTime.Today.Date /*|| (item.Fecha.Date.Equals(DateTime.Today.Date) * && item.Hora.TimeOfDay > DateTime.Today.TimeOfDay)*/ && item.Estado == 3) { item.Estado = 2; } //No genera partes de asistencia para clases que no se han impartido //if (item.Estado != 3) // continue; //si ya hay un parte para esta práctica no se vuelve a crear if (item.OidClasePractica > 0) { bool esta = false; foreach (ParteAsistencia p in _entity.Asistencias) { //ClasePracticaInfo clase = null; /*foreach (ClasePracticaList listap in _practicas) * { * clase = listap.GetItem(item.OidClasePractica); * if (clase != null) break; * }*/ //clase = _practicas[(int)item.Grupo].GetItem(item.OidClasePractica); foreach (Clase_Parte cp in p.Clases) { if (cp.Tipo == 2 && cp.OidClase == item.OidClasePractica && (cp.Grupo == 3 || cp.Grupo == item.Grupo)) { esta = true; break; } } /*if (p.Tipo == 2 && p.Sesiones.Contains(item.OidClasePractica.ToString()) * && !p.Texto.Contains(" G" + Convert.ToString(3 - item.Grupo) + " ")) * { * esta = true; * break; * }*/ if (esta) { break; } } if (esta) { continue; } } if (item.OidClaseTeorica > 0 || item.OidClasePractica > 0 || item.OidClaseExtra > 0) { string aux = string.Empty; long oid_modulo_item = 0; string sesion = string.Empty; long tipo = 0; long oid_clase = 0; long grupo = 3; if (item.OidClasePractica != 0) { ClasePracticaInfo clase = null; /*foreach (ClasePracticaList listap in _practicas) * { * clase = listap.GetItem(item.OidClasePractica); * if (clase != null) break; * }*/ clase = _practicas[(int)item.Grupo].GetItem(item.OidClasePractica); oid_modulo_item = clase.OidModulo; aux = clase.Alias + " G" + item.Grupo.ToString(); sesion = clase.Oid.ToString(); tipo = 2; grupo = clase.Grupo; oid_clase = clase.Oid; } if (item.OidClaseTeorica != 0) { ClaseTeoricaInfo clase = _teoricas.GetItem(item.OidClaseTeorica); oid_modulo_item = clase.OidModulo; aux = clase.Alias; sesion = clase.Oid.ToString(); tipo = 1; oid_clase = clase.Oid; } if (item.OidClaseExtra != 0) { ClaseExtraInfo clase = _extras.GetItem(item.OidClaseExtra); oid_modulo_item = clase.OidModulo; aux = clase.Alias; sesion = clase.Oid.ToString(); tipo = 3; oid_clase = clase.Oid; } if (oid_modulo_item != 0) { if (item.OidClasePractica == 0) { foreach (Sesion_PromocionInfo ses in promo.Sesiones) { if (ses.HoraInicio.TimeOfDay == item.Hora.TimeOfDay) { count = 0; break; } } } if (count == 0) { ParteAsistencia parte = ParteAsistencia.NewChild(_entity); parte.Texto = aux + " "; parte.Sesiones = sesion + " "; parte.Fecha = item.Fecha; parte.HoraInicio = item.Hora.ToString("HH:mm"); parte.Tipo = tipo; parte.OidInstructor = item.OidProfesor; parte.OidInstructorEfectivo = item.OidProfesor; parte.CreateAlumnosList(alumnos, item.Grupo); if (index == _entity.Sesions.Count - 1) { parte.NHoras = count.ToString() + ":00"; } parte.MarkItemChild(); _entity.Asistencias.AddItem(parte); oid_modulo = oid_modulo_item; count++; if (tipo == 2) { _entity.Asistencias[_entity.Asistencias.Count - 1].NHoras = "5:00"; _entity.Asistencias[_entity.Asistencias.Count - 1].CreatePartePracticas(item.OidClasePractica); } else { _entity.Asistencias[_entity.Asistencias.Count - 1].NHoras = count.ToString() + ":00"; } } else { ParteAsistencia ultima = _entity.Asistencias[_entity.Asistencias.Count - 1]; if (ultima.OidHorario == item.OidHorario && ultima.Fecha.Date.Equals(item.Fecha.Date) && Convert.ToDateTime(ultima.HoraInicio).AddHours(count).Hour.Equals(item.Hora.Hour) && ultima.OidInstructor == item.OidProfesor && oid_modulo_item == oid_modulo && ((ultima.Tipo == 1 && item.OidClaseTeorica > 0) || (ultima.Tipo == 2 && item.OidClasePractica > 0) || (ultima.Tipo == 3 && item.OidClaseExtra > 0))) { count++; sesion += " "; if ((item.OidClasePractica > 0 && _entity.Asistencias[_entity.Asistencias.Count - 1].Sesiones != sesion) || item.OidClasePractica == 0) { _entity.Asistencias[_entity.Asistencias.Count - 1].Texto += aux + " "; _entity.Asistencias[_entity.Asistencias.Count - 1].Sesiones += sesion; _entity.Asistencias[_entity.Asistencias.Count - 1].NHoras = count.ToString() + ":00"; if (index == _entity.Sesions.Count - 1) { //_entity.Asistencias[_entity.Asistencias.Count - 1].Fecha = item.Fecha; //_entity.Asistencias[_entity.Asistencias.Count - 1].Hora = item.Hora; //_entity.Asistencias[_entity.Asistencias.Count - 1].OidInstructor = item.OidProfesor; count = 0; } } else { ClasePracticaInfo clase = null; clase = _practicas[(int)item.Grupo].GetItem(item.OidClasePractica); string texto_aux = clase.Alias + " G" + item.Grupo.ToString() + " "; if (_entity.Asistencias[_entity.Asistencias.Count - 1].Texto != texto_aux) { _entity.Asistencias[_entity.Asistencias.Count - 1].Texto = clase.Alias; _entity.Asistencias[_entity.Asistencias.Count - 1].CreateAlumnosList(alumnos, 3); _entity.Asistencias[_entity.Asistencias.Count - 1].CreatePartePracticas(item.OidClasePractica); } } } else { ParteAsistencia parte = ParteAsistencia.NewChild(_entity); parte.Texto = aux + " "; parte.Sesiones = sesion + " "; parte.Fecha = item.Fecha; parte.HoraInicio = item.Hora.ToString("HH:mm"); parte.Tipo = tipo; parte.OidInstructor = item.OidProfesor; parte.OidInstructorEfectivo = item.OidProfesor; parte.CreateAlumnosList(alumnos, item.Grupo); if (index == _entity.Sesions.Count - 1) { parte.NHoras = count.ToString() + ":00"; } parte.MarkItemChild(); _entity.Asistencias.AddItem(parte); oid_modulo = oid_modulo_item; count = 1; if (tipo == 2) { _entity.Asistencias[_entity.Asistencias.Count - 1].NHoras = "5:00"; _entity.Asistencias[_entity.Asistencias.Count - 1].CreatePartePracticas(item.OidClasePractica); } else { _entity.Asistencias[_entity.Asistencias.Count - 1].NHoras = count.ToString() + ":00"; } } } Clase_Parte registro = _entity.Asistencias[_entity.Asistencias.Count - 1].Clases.NewItem(_entity.Asistencias[_entity.Asistencias.Count - 1]); registro.OidClase = oid_clase; registro.Tipo = tipo; registro.Grupo = grupo; } } index++; } PgMng.Grow(); return(true); } catch { return(false); } finally { PgMng.FillUp(); } }
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(); } }
/// <summary> /// Función recursiva que va creando el árbol de submódulos y preguntas /// </summary> /// <param name="padre"></param> /// <param name="apartado"></param> private void SetAlumnosValues(TreeNode padre, PromocionInfo promocion) { TreeNode nodo = new TreeNode(promocion.Numero + " - " + promocion.Nombre); nodo.NodeFont = new Font("Tahoma", (float)8.25, FontStyle.Regular); nodo.ForeColor = System.Drawing.Color.Black; nodo.Tag = promocion; nodo.SelectedImageKey = "submodulo"; if (_alumnos == null) { _alumnos = AlumnoList.GetAlumnosAdmitidosList(_entity.OidModulo, _entity.Desarrollo, _entity.Oid, ExamenPromocionList.GetChildList(_entity.Promociones), _entity.FechaExamen, true); } foreach (AlumnoInfo alumno in _alumnos) { bool pertenece = false; if (alumno.Promociones == null) { alumno.LoadChilds(typeof(Alumno_Promocion), false); } foreach (Alumno_PromocionInfo item in alumno.Promociones) { if (item.OidPromocion == promocion.Oid) { pertenece = true; break; } } if (pertenece) { TreeNode nodo_p = new TreeNode("[" + alumno.NExpediente + "] " + alumno.Apellidos + ", " + alumno.Nombre); nodo_p.NodeFont = new Font("Tahoma", (float)8.25, FontStyle.Regular); nodo_p.ForeColor = System.Drawing.Color.Black; nodo_p.Tag = alumno; foreach (Alumno_Examen item in _entity.Alumnos) { if (item.OidAlumno == alumno.Oid) { nodo_p.Checked = true; break; } } nodo.Nodes.Add(nodo_p); } } if (nodo.Nodes.Count > 0) { if (padre == null) { Arbol_TV.Nodes.Add(nodo); } else { padre.Nodes.Add(nodo); } } }
protected override void GetFormSourceData(long oid) { _entity = PromocionInfo.Get(oid, true); _mf_type = ManagerFormType.MFView; }
protected override bool CrearPartes() { int count = 0; long oid_modulo = 0; int index = 0; long tipo = 0; PgMng.Reset(6, 1, Resources.Messages.CREANDO_PARTES_ASISTENCIA, this); try { PromocionInfo promo = PromocionInfo.Get(_entity.OidPromocion, true); AlumnoList alumnos = AlumnoList.GetListByPromocion(promo.Oid, true); if (promo.Sesiones.Count == 0) { Promocion promocion = Promocion.Get(_entity.OidPromocion, false); promocion.LoadChilds(typeof(Sesion_Promocion)); List <List <long> > duracion_sesiones = _entity.RellenaHorasSemana(); foreach (List <long> lista in duracion_sesiones) { foreach (long item in lista) { Sesion_Promocion ses = Sesion_Promocion.NewChild(promocion); ses.NHoras = duracion_sesiones.IndexOf(lista) + 1; if (item > 69) { ses.Sabado = true; } ses.HoraInicio = DateTime.Parse((item % 14 + 10).ToString("00") + ":00"); promocion.Sesiones.Add(ses); } } promo = promocion.GetInfo(true); promocion.CloseSession(); } PgMng.Grow(); if (!_entity.IsDirty) { return(true); } //guarda la lista de partes de asistencia anterior ParteAsistencias partes = _entity.Asistencias.Clone(); PgMng.Grow(); ParteAsistencias nueva = ParteAsistencias.NewChildList(); HorarioInfo horario_old = HorarioInfo.Get(_entity.Oid, true); //genera la nueva lista de partes de asistencia for (int sesion_ind = 0; sesion_ind < _entity.Sesions.Count; sesion_ind++) { Sesion item = _entity.Sesions[sesion_ind]; bool confirmada = false; if (item.OidClasePractica != 0) { bool incluida = false; foreach (ParteAsistencia parte_practicas in nueva) { if (parte_practicas.Tipo == 2) { ClasePracticaInfo p_info = _practicas[(int)item.Grupo].GetItem(item.OidClasePractica); if (p_info != null && (parte_practicas.Texto.Trim() == p_info.Alias.Trim() + "G" + item.Grupo.ToString() || parte_practicas.Texto.Trim() == p_info.Alias.Trim())) { incluida = true; break; } } } if (incluida) { continue; } } //Se busca un parte de asistencias confirmado que contenga esta clase foreach (ParteAsistencia parte_old in partes) { DateTime hora_sesion = DateTime.Parse(parte_old.HoraInicio); if (parte_old.Fecha.Date == item.Fecha.Date && hora_sesion.Hour == item.Hora.Hour && parte_old.Confirmada) { int n_horas = DateTime.Parse(parte_old.NHoras).Hour; for (int horas_ind = 0; horas_ind < n_horas; horas_ind++) { if (!_entity.Sesions[sesion_ind + horas_ind].IsEqual(horario_old.Sesions[sesion_ind + horas_ind])) { return(false); } } //se trata de una teórica o una extra y no hay que comprobar que en ese intervalo exista otra sesión if (item.OidClasePractica == 0) { sesion_ind += n_horas - 1; } nueva.Add(parte_old); confirmada = true; break; } } if (confirmada) { continue; } //Desmarca las clases que han sido marcadas como impartidas pero que tienen //fecha y horas mayor que la actual if (item.Fecha.Date > DateTime.Today.Date && item.Estado == 3) { item.Estado = 2; } //si ya hay un parte para esta práctica no se vuelve a crear if (item.OidClasePractica > 0) { bool esta = false; foreach (ParteAsistencia p in nueva) { foreach (Clase_Parte cp in p.Clases) { if (cp.Tipo == 2 && cp.OidClase == item.OidClasePractica && (cp.Grupo == 3 || cp.Grupo == item.Grupo)) { esta = true; break; } } } if (esta) { continue; } } if ((item.OidClaseTeorica > 0 || item.OidClasePractica > 0 || item.OidClaseExtra > 0) && !item.IsDeleted) { string aux = string.Empty; long oid_modulo_item = 0; string sesion = string.Empty; long oid_clase = 0; long grupo = 3; if (item.OidClasePractica != 0) { ClasePracticaInfo clase = null; clase = _practicas[(int)item.Grupo].GetItem(item.OidClasePractica); oid_modulo_item = clase.OidModulo; aux = clase.Alias + " G" + item.Grupo.ToString(); sesion = clase.Oid.ToString(); tipo = 2; grupo = clase.Grupo; oid_clase = clase.Oid; } if (item.OidClaseTeorica != 0) { ClaseTeoricaInfo clase = _teoricas.GetItem(item.OidClaseTeorica); oid_modulo_item = clase.OidModulo; aux = clase.Alias; sesion = clase.Oid.ToString(); tipo = 1; oid_clase = clase.Oid; } if (item.OidClaseExtra != 0) { ClaseExtraInfo clase = _extras.GetItem(item.OidClaseExtra); oid_modulo_item = clase.OidModulo; aux = clase.Alias; sesion = clase.Oid.ToString(); tipo = 3; oid_clase = clase.Oid; } if (oid_modulo_item != 0) { if (item.OidClasePractica == 0) { foreach (Sesion_PromocionInfo ses in promo.Sesiones) { if (ses.HoraInicio.TimeOfDay == item.Hora.TimeOfDay) { count = 0; break; } } } if (count == 0) { ParteAsistencia parte = ParteAsistencia.NewChild(_entity); parte.Tipo = tipo; parte.Texto = aux + " "; parte.Sesiones = sesion + " "; parte.Fecha = item.Fecha; parte.HoraInicio = item.Hora.ToString("HH:mm"); parte.OidInstructor = item.OidProfesor; parte.OidInstructorEfectivo = item.OidProfesor; parte.CreateAlumnosList(alumnos, item.Grupo); if (index == _entity.Sesions.Count - 1) { parte.NHoras = count.ToString() + ":00"; } parte.MarkItemChild(); nueva.AddItem(parte); oid_modulo = oid_modulo_item; count++; if (tipo == 2) { nueva[nueva.Count - 1].NHoras = "5:00"; nueva[nueva.Count - 1].CreatePartePracticas(item.OidClasePractica); } else { nueva[nueva.Count - 1].NHoras = count.ToString() + ":00"; } } else { ParteAsistencia ultima = nueva[nueva.Count - 1]; if (ultima.OidHorario == item.OidHorario && ultima.Fecha.Date.Equals(item.Fecha.Date) && Convert.ToDateTime(ultima.HoraInicio).AddHours(count).Hour.Equals(item.Hora.Hour) && ultima.OidInstructor == item.OidProfesor && oid_modulo_item == oid_modulo && ((ultima.Tipo == 1 && item.OidClaseTeorica > 0) || (ultima.Tipo == 2 && item.OidClasePractica > 0) || (ultima.Tipo == 3 && item.OidClaseExtra > 0))) { count++; sesion += " "; if ((item.OidClasePractica > 0 && nueva[nueva.Count - 1].Sesiones != sesion) || item.OidClasePractica == 0) { nueva[nueva.Count - 1].Texto += aux + " "; nueva[nueva.Count - 1].Sesiones += sesion; nueva[nueva.Count - 1].NHoras = count.ToString() + ":00"; if (index == _entity.Sesions.Count - 1) { count = 0; } } else { ClasePracticaInfo clase = null; clase = _practicas[(int)item.Grupo].GetItem(item.OidClasePractica); string texto_aux = clase.Alias + " G" + item.Grupo.ToString() + " "; if (nueva[nueva.Count - 1].Texto != texto_aux) { nueva[nueva.Count - 1].Texto = clase.Alias; nueva[nueva.Count - 1].CreateAlumnosList(alumnos, 3); nueva[nueva.Count - 1].CreatePartePracticas(item.OidClasePractica); } } } else { ParteAsistencia parte = ParteAsistencia.NewChild(_entity); parte.Tipo = tipo; parte.Texto = aux + " "; parte.Sesiones = sesion + " "; parte.Fecha = item.Fecha; parte.HoraInicio = item.Hora.ToString("HH:mm"); parte.OidInstructor = item.OidProfesor; parte.OidInstructorEfectivo = item.OidProfesor; parte.CreateAlumnosList(alumnos, item.Grupo); if (index == _entity.Sesions.Count - 1) { parte.NHoras = count.ToString() + ":00"; } parte.MarkItemChild(); nueva.AddItem(parte); oid_modulo = oid_modulo_item; count = 1; if (tipo == 2) { nueva[nueva.Count - 1].NHoras = "5:00"; nueva[nueva.Count - 1].CreatePartePracticas(item.OidClasePractica); } else { nueva[nueva.Count - 1].NHoras = count.ToString() + ":00"; } } } Clase_Parte registro = nueva[nueva.Count - 1].Clases.NewItem(nueva[nueva.Count - 1]); registro.OidClase = oid_clase; registro.Tipo = tipo; registro.Grupo = grupo; } } index++; } PgMng.Grow(); foreach (ParteAsistencia parte_old in partes) { bool esta = false; for (int i = 0; i < nueva.Count; i++) { ParteAsistencia parte_new = nueva[i]; if (parte_old.Fecha.Date == parte_new.Fecha.Date && parte_old.HoraInicio == parte_new.HoraInicio && parte_old.NHoras == parte_new.NHoras && parte_old.OidInstructor == parte_new.OidInstructor && parte_old.Tipo == parte_new.Tipo) { esta = true; foreach (Clase_Parte cp_old in parte_old.Clases) { bool esta_clase = false; foreach (Clase_Parte cp_new in parte_new.Clases) { if (cp_old.OidClase == cp_new.OidClase && cp_old.Tipo == cp_new.Tipo && cp_old.Grupo == cp_new.Grupo) { esta_clase = true; break; } } if (!esta_clase) { if (parte_old.Confirmada) { throw new iQException(Resources.Messages.PARTE_CON_CONCEPTOS_ASOCIADOS); } else { esta = false; break; } } } } if (esta) { nueva.Remove(parte_new); break; } } if (!esta) { if (parte_old.Confirmada) { throw new iQException(Resources.Messages.PARTE_CON_CONCEPTOS_ASOCIADOS); } else { _entity.Asistencias.Remove(parte_old); } } } /*ParteAsistencias partes_bu = _entity.Asistencias.Clone(); * //_entity.Asistencias = ParteAsistencias.NewChildList(); * //se unen las dos listas * //partes es la lista de partes de asistencia que existía antes de modificar el horario * //nueva tiene los partes que se generan a partir del horario modificado * //Se busca cada parte antiguo en la lista de partes nueva * foreach (ParteAsistencia item in partes) * { * ParteAsistencia existe = nueva.Contiene(item); * * if (existe != null) * { * //Si se trata de una clase práctica * if (existe.Tipo == 2 && !existe.Confirmada) * { * //Si en el parte antiguo la clase práctica no tenía lista de notas de prácticas de alumnos o estaba vacía * //se le crea la lista de notas de prácticas de alumnos * if (item.Alumnos_Practicas == null || item.Alumnos_Practicas.Count == 0) * { * if (existe.Alumnos_Practicas.Count > 0) * item.CreatePartePracticas(existe.Alumnos_Practicas[0].OidClasePractica); * else * item.Alumnos_Practicas = existe.Alumnos_Practicas.Clone(); * } * else * { * //si ya tenía lista de notas de prácticas se actualiza * foreach (Alumno_Practica alumno_practica in item.Alumnos_Practicas) * { * if (alumno_practica.Falta) * alumno_practica.Calificacion = Resources.Labels.NO_APTO_LABEL; * } * } * } * * _entity.Asistencias.AddItem(item, false); * * //Método rancio para eliminar el parte que ya existía en la lista original de la lista de partes nuevos * int ind = -1; * for (int i = 0; i < nueva.Count; i++) * { * ParteAsistencia obj = nueva[i]; * * if (item.OidInstructor == obj.OidInstructor * && item.Sesiones == obj.Sesiones * && item.NHoras == obj.NHoras * && item.Fecha.ToShortDateString() == obj.Fecha.ToShortDateString() * && item.HoraInicio == obj.HoraInicio) * { * ind = i; * break; * } * } * if (ind != -1) * { * ParteAsistencias aux = nueva.Clone(); * nueva = ParteAsistencias.NewChildList(); * for (int i = 0; i < aux.Count; i++) * { * if (i != ind) * nueva.AddItem(aux[i]); * } * } * } * else * { * if (!item.Confirmada) * { * //Si no se ha encontrado el parte antiguo, se genera el albarán correspondiente y se elimina el parte antiguo * if (item.Conceptos != null && item.Conceptos.Count > 0) * { * InputDeliveryLineInfo concepto = InputDeliveryLineInfo.Get(item.Conceptos[0].OidConcepto); * InputDeliveryInfo albaran = albaranes.GetItem(concepto.OidAlbaran); * if (albaran != null && albaran.Facturado) * { * _entity.Asistencias = partes_bu; * return false; * } * } * ParteAsistencia.Delete(item.Oid); * } * else * { * _entity.Asistencias = partes_bu; * * return false; * } * } * }*/ PgMng.Grow(); //Al finalizar se añaden todos los partes nuevos que no tenían coincidencia a la lista de //partes del horario foreach (ParteAsistencia item in nueva) { _entity.Asistencias.AddItem(item); } PgMng.Grow(); return(true); } catch { return(false); } finally { PgMng.FillUp(); } }
/// <summary> /// Asigna los datos de origen para controles que dependen de otros /// </summary> /// <param name="controlName"></param> protected override void SetDependentControlSource(string controlName) { switch (controlName) { case "Plan_CB": { //moleQule.Library.Timer t = new moleQule.Library.Timer(); if (Datos_Planes.Current != null && Plan_CB.SelectedItem != null) { Datos_Promociones.DataSource = _combo_planes.GetFilteredChilds(((ComboBoxSource)Plan_CB.SelectedItem).Oid); Generar_BT.Enabled = true; } // t.Record("Plan_CB"); //MessageBox.Show(t.GetCronos()); } break; case "Promocion_CB": { //moleQule.Library.Timer t = new moleQule.Library.Timer(); if (Datos_Promociones.Current != null) { if (Promocion_CB.SelectedItem != null) { _entity.OidPromocion = ((ComboBoxSource)Promocion_CB.SelectedItem).Oid; } Generar_BT.Enabled = true; } //t.Record("Promocion_CB"); //MessageBox.Show(t.GetCronos()); } break; case "Semana_GB": { PromocionInfo promo = null; if (Promocion_CB.SelectedItem != null) { promo = PromocionInfo.Get(((ComboBoxSource)Promocion_CB.SelectedItem).Oid, true); } if (promo != null) { CLB_1.Items[0] = "08:00 - 9:00"; CLB_1.Items[1] = "09:00 - 10:00"; CLB_1.Items[2] = "10:00 - 11:00"; CLB_1.Items[3] = "11:00 - 12:00"; CLB_1.Items[4] = "12:00 - 13:00"; CLB_1.Items[5] = "13:00 - 14:00"; CLB_1.Items[6] = "14:00 - 15:00"; CLB_1.Items[7] = "15:00 - 16:00"; CLB_2.Items[0] = "16:00 - 17:00"; CLB_2.Items[1] = "17:00 - 18:00"; CLB_2.Items[2] = "18:00 - 19:00"; CLB_2.Items[3] = "19:00 - 20:00"; CLB_2.Items[4] = "20:00 - 21:00"; CLB_2.Items[5] = "21:00 - 22:00"; CLB_1.SetItemChecked(0, promo.H8AM); CLB_1.SetItemChecked(1, promo.H0); CLB_1.SetItemChecked(2, promo.H1); CLB_1.SetItemChecked(3, promo.H2); CLB_1.SetItemChecked(4, promo.H3); CLB_1.SetItemChecked(5, promo.H4); CLB_1.SetItemChecked(6, promo.H5); CLB_1.SetItemChecked(7, promo.H6); CLB_2.SetItemChecked(0, promo.H7); CLB_2.SetItemChecked(1, promo.H8); CLB_2.SetItemChecked(2, promo.H9); CLB_2.SetItemChecked(3, promo.H10); CLB_2.SetItemChecked(4, promo.H11); CLB_2.SetItemChecked(5, promo.H12); _entity.Configuracion = Sesiones_Promociones.NewChildList(); foreach (Sesion_PromocionInfo item in promo.Sesiones) { Sesion_Promocion copia_conf = Sesion_Promocion.NewChild(_entity); copia_conf.HoraInicio = item.HoraInicio; copia_conf.Sabado = item.Sabado; copia_conf.NHoras = item.NHoras; copia_conf.Hora = item.Hora; _entity.Configuracion.AddItem(copia_conf); } Datos_Sesiones.DataSource = _entity.Configuracion; } } break; case "Sabado_GB": { PromocionInfo promo = null; if (Promocion_CB.SelectedItem != null) { promo = _promociones.GetItem(((ComboBoxSource)Promocion_CB.SelectedItem).Oid); } if (promo != null) { CLB_3.Items[0] = "09:00 - 10:00"; CLB_3.Items[1] = "10:00 - 11:00"; CLB_3.Items[2] = "11:00 - 12:00"; CLB_3.Items[3] = "12:00 - 13:00"; CLB_3.Items[4] = "13:00 - 14:00"; CLB_3.SetItemChecked(0, promo.HS0); CLB_3.SetItemChecked(1, promo.HS1); CLB_3.SetItemChecked(2, promo.HS2); CLB_3.SetItemChecked(3, promo.HS3); CLB_3.SetItemChecked(4, promo.HS4); } } break; } }
/// <summary> /// Función recursiva que va creando el árbol de submódulos y preguntas /// </summary> /// <param name="padre"></param> /// <param name="apartado"></param> private void SetAlumnosValues(TreeNode padre, PromocionInfo promocion) { TreeNode nodo = new TreeNode(promocion.Numero + " - " + promocion.Nombre); nodo.NodeFont = new Font("Tahoma", (float)8.25, FontStyle.Regular); nodo.ForeColor = System.Drawing.Color.Black; nodo.Tag = promocion; nodo.SelectedImageKey = Properties.Settings.Default.SUBMODULO_ICON; if (_alumnos == null) { _alumnos = AlumnoList.GetListByExamen(true, _entity.Oid); //(_entity.OidModulo, _entity.Desarrollo, _entity.Oid, true); } foreach (AlumnoInfo alumno in _alumnos) { bool pertenece = false; foreach (Alumno_PromocionInfo item in alumno.Promociones) { if (item.OidPromocion == promocion.Oid) { pertenece = true; break; } } if (pertenece) { //nodo_p.Tag = alumno; foreach (Alumno_Examen item in _entity.Alumnos) { if (item.OidAlumno == alumno.Oid) { string texto = "[" + alumno.NExpediente + "] " + alumno.Apellidos + ", " + alumno.Nombre; if (!item.Presentado) { texto += " - NP"; } else { if (!_entity.Desarrollo) { texto += " - " + item.Calificacion.ToString() + "%"; } else { foreach (Respuesta_Alumno_Examen resp in item.Respuestas) { texto += " - " + resp.Calificacion.ToString() + "%"; } } } TreeNode nodo_p = new TreeNode(texto); nodo_p.NodeFont = new Font("Tahoma", (float)8.25, FontStyle.Regular); nodo_p.ForeColor = System.Drawing.Color.Black; nodo_p.Tag = item; nodo_p.Checked = true; nodo.Nodes.Add(nodo_p); //break; } } } } if (nodo.Nodes.Count > 0) { if (padre == null) { Arbol_TV.Nodes.Add(nodo); } else { padre.Nodes.Add(nodo); } } }