public HComboBoxSourceList(Submodulo_Instructor_PromocionList lista, InstructorList instructores) { AddEmptyItem(); foreach (Submodulo_Instructor_PromocionInfo item in lista) { if (item.OidInstructor != 0) { ComboBoxSource combo = new ComboBoxSource(); InstructorInfo instructor = instructores.GetItem(item.OidInstructor); if (instructor != null) { combo.Texto = instructor.Alias; combo.Oid = item.OidInstructor; combo.OidAjeno = item.OidSubmodulo; this.Add(combo); } } } }
private static void FormatReport(HorarioRpt rpt, ListaSesiones list, bool alumnos, /*bool autorizado,*/ ClaseTeoricaList teoricas, List <ClasePracticaList> practicas, ClaseExtraList extras /*, * InstructorList instructores*/) { List <string> lista = new List <string>(); lista.Add("Lunes8AM"); lista.Add("Lunes"); lista.Add("Lunes2"); lista.Add("Lunes3"); lista.Add("Lunes4"); lista.Add("Lunes5"); lista.Add("Lunes6"); lista.Add("Lunes7"); lista.Add("Lunes8"); lista.Add("Lunes9"); lista.Add("Lunes10"); lista.Add("Lunes11"); lista.Add("Lunes12"); lista.Add("Lunes13"); lista.Add("Martes8AM"); lista.Add("Martes"); lista.Add("Martes2"); lista.Add("Martes3"); lista.Add("Martes4"); lista.Add("Martes5"); lista.Add("Martes6"); lista.Add("Martes7"); lista.Add("Martes8"); lista.Add("Martes9"); lista.Add("Martes10"); lista.Add("Martes11"); lista.Add("Martes12"); lista.Add("Martes13"); lista.Add("Miercoles8AM"); lista.Add("Miercoles"); lista.Add("Miercoles2"); lista.Add("Miercoles3"); lista.Add("Miercoles4"); lista.Add("Miercoles5"); lista.Add("Miercoles6"); lista.Add("Miercoles7"); lista.Add("Miercoles8"); lista.Add("Miercoles9"); lista.Add("Miercoles10"); lista.Add("Miercoles12"); lista.Add("Miercoles11"); lista.Add("Miercoles13"); lista.Add("Jueves8AM"); lista.Add("Jueves"); lista.Add("Jueves2"); lista.Add("Jueves3"); lista.Add("Jueves4"); lista.Add("Jueves5"); lista.Add("Jueves6"); lista.Add("Jueves7"); lista.Add("Jueves8"); lista.Add("Jueves9"); lista.Add("Jueves10"); lista.Add("Jueves11"); lista.Add("Jueves12"); lista.Add("Jueves13"); lista.Add("Viernes8AM"); lista.Add("Viernes"); lista.Add("Viernes2"); lista.Add("Viernes3"); lista.Add("Viernes4"); lista.Add("Viernes5"); lista.Add("Viernes6"); lista.Add("Viernes7"); lista.Add("Viernes8"); lista.Add("Viernes9"); lista.Add("Viernes10"); lista.Add("Viernes11"); lista.Add("Viernes12"); lista.Add("Viernes13"); lista.Add("Sabado"); lista.Add("Sabado2"); lista.Add("Sabado3"); lista.Add("Sabado4"); lista.Add("Sabado5"); InstructorList instructores = InstructorList.GetList(true); int ultimo = 0; int n_clases = 0; string aux = string.Empty; foreach (SesionAuxiliar info in list) { int indice = list.IndexOf(info); //si la sesión no tienen ninguna clase asignada, se elimina la etiqueta if (info.OidClaseTeorica <= 0 && info.OidClasePractica == 0 && info.OidClaseExtra == 0) { rpt.SetParameterValue(lista[indice], ""); ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = true; } else { //si la sesión tiene una clase asignada una clase teórica if (info.OidClaseTeorica != 0) { ClaseTeoricaInfo teorica = teoricas.GetItem(info.OidClaseTeorica); //si no es la primera clase del día //se comprueba si pertenece a la misma clase que la hora anterior if (indice % 14 != 0 && list[indice - 1].OidClaseTeorica > 0) { bool misma_clase = false; if (teorica.OidModulo == teoricas.GetItem(list[indice - 1].OidClaseTeorica).OidModulo && teorica.OidSubmodulo == teoricas.GetItem(list[indice - 1].OidClaseTeorica).OidSubmodulo && info.OidProfesor == list[indice - 1].OidProfesor) { misma_clase = true; rpt.SetParameterValue(lista[indice], ""); ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = true; if (!alumnos) { InstructorInfo item = instructores.GetItem(info.OidProfesor); string instructor = item.Alias; instructor += Environment.NewLine; int ind = aux.IndexOf(instructor); if (ind == -1) { misma_clase = false; } } else { aux = Environment.NewLine + aux; } if (misma_clase) { ((FieldObject)(rpt.Section3.ReportObjects[lista[ultimo]])).Height = ((FieldObject)(rpt.Section3.ReportObjects[lista[ultimo]])).Height + 720; rpt.SetParameterValue(lista[ultimo], aux); if (n_clases == 1) { ((FieldObject)(rpt.Section3.ReportObjects[lista[ultimo]])).Top += 80; } n_clases++; } } if (!misma_clase) { ModuloInfo modulo = ModuloInfo.Get(teorica.OidModulo, false); aux = Environment.NewLine + modulo.Alias + Environment.NewLine; aux += teorica.Submodulo + Environment.NewLine; if (!alumnos) { InstructorInfo item = instructores.GetItem(info.OidProfesor); string instructor = item.Alias; instructor += Environment.NewLine; aux += instructor; } ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = false; ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).Top -= 80; rpt.SetParameterValue(lista[indice], aux); ultimo = indice; n_clases = 1; } } else { ModuloInfo modulo = ModuloInfo.Get(teorica.OidModulo, false); aux = Environment.NewLine + modulo.Alias + Environment.NewLine; aux += teorica.Submodulo + Environment.NewLine; if (!alumnos) { InstructorInfo item = instructores.GetItem(info.OidProfesor); string instructor = item.Alias; instructor += Environment.NewLine; aux += instructor; } ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = false; ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).Top -= 80; rpt.SetParameterValue(lista[indice], aux); ultimo = indice; n_clases = 1; } } else { if (info.OidClasePractica != 0) { ClasePracticaInfo practica = practicas[(int)info.Grupo].GetItem(info.OidClasePractica); //if (indice % 14 != 0) { int ind_aux = 1; bool esta = false; bool anterior = false; //if (indice % 14 != 0) //{ while (ind_aux < 5 && (indice - ind_aux) >= 0 && (indice - ind_aux) % 14 < indice % 14) { if (list[indice - ind_aux].OidClasePractica != 0 && practica.OidModulo == practicas[(int)list[indice - ind_aux].Grupo].GetItem(list[indice - ind_aux].OidClasePractica).OidModulo && info.OidProfesor == list[indice - ind_aux].OidProfesor && info.Grupo == list[indice - ind_aux].Grupo) //comprobación de grupo por si fuera la misma práctica para los dos grupos { esta = true; break; } if (list[indice - ind_aux].OidClasePractica != 0) { anterior = true; } ind_aux++; } ind_aux = 1; bool posterior = false; while (ind_aux < 5 && (indice + ind_aux) % 14 > indice % 14 && (indice + ind_aux) < 75) { if (list[indice + ind_aux].OidClasePractica != 0 && list[indice + ind_aux].OidClasePractica != list[indice].OidClasePractica) { posterior = true; } ind_aux++; } //} if (!esta) { aux = Environment.NewLine + practica.Modulo + Environment.NewLine; aux += practica.Alias + " G" + list[indice].Grupo.ToString() + Environment.NewLine; if (!alumnos) { InstructorInfo item = instructores.GetItem(info.OidProfesor); string instructor = item.Alias; instructor += Environment.NewLine; aux += instructor; aux += Environment.NewLine; aux += "5H"; } rpt.SetParameterValue(lista[indice], aux); if (!anterior) { if (posterior) { ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).Height = 1560; } else { ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).Height = 3200; } } else { int top = 0; int i = 1; while (i < 5 && indice - i >= 0) { if (!((FieldObject)(rpt.Section3.ReportObjects[lista[indice - i]])).ObjectFormat.EnableSuppress) { top = ((FieldObject)(rpt.Section3.ReportObjects[lista[indice - i]])).Top + 1560 + 240; break; } i++; } ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).Height = 1560; ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).Top = top; } ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = false; } else { rpt.SetParameterValue(lista[indice], ""); ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = true; } } } else { ClaseExtraInfo extra = extras.GetItem(info.OidClaseExtra); //si no es la primera clase del día //se comprueba si pertenece a la misma clase que la hora anterior if (indice % 14 != 0 && list[indice - 1].OidClaseExtra > 0) { bool misma_clase = false; if (extra.OidModulo == extras.GetItem(list[indice - 1].OidClaseExtra).OidModulo && extra.OidSubmodulo == extras.GetItem(list[indice - 1].OidClaseExtra).OidSubmodulo && info.OidProfesor == list[indice - 1].OidProfesor) { misma_clase = true; rpt.SetParameterValue(lista[indice], ""); ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = true; if (!alumnos) { InstructorInfo item = instructores.GetItem(info.OidProfesor); string instructor = item.Alias; instructor += Environment.NewLine; int ind = aux.IndexOf(instructor); if (ind == -1) { misma_clase = false; } } else { aux = Environment.NewLine + aux; } if (misma_clase) { ((FieldObject)(rpt.Section3.ReportObjects[lista[ultimo]])).Height = ((FieldObject)(rpt.Section3.ReportObjects[lista[ultimo]])).Height + 720; rpt.SetParameterValue(lista[ultimo], aux); if (n_clases == 1) { ((FieldObject)(rpt.Section3.ReportObjects[lista[ultimo]])).Top += 80; } n_clases++; } } if (!misma_clase) { ModuloInfo modulo = ModuloInfo.Get(extra.OidModulo, false); aux = Environment.NewLine + modulo.Alias + Environment.NewLine; aux += extra.Submodulo + Environment.NewLine; if (!alumnos) { InstructorInfo item = instructores.GetItem(info.OidProfesor); string instructor = item.Alias; instructor += Environment.NewLine; aux += instructor; } ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = false; ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).Top -= 80; rpt.SetParameterValue(lista[indice], aux); ultimo = indice; n_clases = 1; } } else { ModuloInfo modulo = ModuloInfo.Get(extra.OidModulo, false); aux = Environment.NewLine + modulo.Alias + Environment.NewLine; aux += extra.Submodulo + Environment.NewLine; if (!alumnos) { InstructorInfo item = instructores.GetItem(info.OidProfesor); string instructor = item.Alias; instructor += Environment.NewLine; aux += instructor; } ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).ObjectFormat.EnableSuppress = false; ((FieldObject)(rpt.Section3.ReportObjects[lista[indice]])).Top -= 80; rpt.SetParameterValue(lista[indice], aux); ultimo = indice; n_clases = 1; } } } } } }