protected override bool DoSearch() { bool plan = false; PlanEstudiosList sublist = null; if (_lista == null) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } FCriteria criteria = null; foreach (Control ctl in this.Campos_Groupbox.Controls) { if (((System.Windows.Forms.RadioButton)ctl).Checked) { switch (ctl.Name) { case "Nombre_RB": { criteria = new FCriteria <string>("Nombre", Valor_TB.Text); break; } case "Plan_RB": { CriteriaEx criteriaex = PlanEstudios.GetCriteria(PlanEstudios.OpenSession()); criteriaex.AddContains("Nombre", Valor_TB.Text); sublist = PlanEstudiosList.GetList(criteriaex); // No existe el plan if (sublist.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } plan = true; break; } } } } // Consulta en la bd SortedBindingList <PromocionInfo> lista; if (SortProperty != string.Empty) { if (!plan) { lista = _lista.GetSortedSubList(criteria, SortProperty, SortDirection); } else { PromocionList list = PromocionList.GetList(PromocionList.GetFilteredList(_lista, sublist, "OidPlan")); lista = list.ToSortedList(SortProperty, SortDirection); } } else { lista = _lista.GetSortedSubList(criteria, "Oid", SortDirection); } Datos.DataSource = lista; if (lista.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } Datos.MoveFirst(); return(true); }
protected override bool DoSearch() { bool promo = false; bool plan = false; PromocionList sublist = null; PlanEstudiosList sublist_plan = null; DateTime inicio = DateTime.MinValue; DateTime fin = DateTime.MaxValue; if (Desde_DTP.Checked) { inicio = Desde_DTP.Value; } if (Hasta_DTP.Checked) { fin = Hasta_DTP.Value; } if (_lista == null) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } FCriteria criteria = null; if (Valor_TB.Text != " ") { foreach (Control ctl in this.Campos_Groupbox.Controls) { if (((System.Windows.Forms.RadioButton)ctl).Checked) { switch (ctl.Name) { case "Promocion_RB": { CriteriaEx criteriaex = Promocion.GetCriteria(Promocion.OpenSession()); criteriaex.AddContains("Nombre", Valor_TB.Text); criteriaex.Childs = false; sublist = PromocionList.GetList(criteriaex); // No existe la promoción if (sublist.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } promo = true; break; } case "Plan_RB": { CriteriaEx criteriaex = PlanEstudios.GetCriteria(PlanEstudios.OpenSession()); criteriaex.AddContains("Nombre", Valor_TB.Text); criteriaex.Childs = false; sublist_plan = PlanEstudiosList.GetList(criteriaex); // No existe la promoción if (sublist_plan.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } plan = true; break; } } } } } // Consulta en la bd SortedBindingList <HorarioInfo> lista = null; if (SortProperty != string.Empty) { if (promo) { HorarioList list = HorarioList.GetList(HorarioList.GetFilteredList(HorarioList.GetFilteredFechaList(_lista, inicio, fin), sublist, "OidPromocion")); lista = list.ToSortedList(SortProperty, SortDirection); } else { if (plan) { HorarioList list = HorarioList.GetList(HorarioList.GetFilteredList(HorarioList.GetFilteredFechaList(_lista, inicio, fin), sublist_plan, "OidPlan")); lista = list.ToSortedList(SortProperty, SortDirection); } else { lista = HorarioList.SortList(HorarioList.GetFilteredFechaList(_lista, inicio, fin), SortProperty, SortDirection); }; } } else { lista = _lista.GetSortedSubList(criteria, "Oid", SortDirection); } Datos.DataSource = lista; if (lista.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } Datos.MoveFirst(); return(true); }