protected new SortedBindingList <HorarioInfo> Localize(FilterItem item) { SortedBindingList <HorarioInfo> list = null; HorarioList sourceList = null; switch (FilterType) { case IFilterType.None: if (List == null) { MessageBox.Show(Face.Resources.Messages.NO_RESULTS); return(null); } sourceList = List; break; case IFilterType.Filter: if (FilteredList == null) { MessageBox.Show(Face.Resources.Messages.NO_RESULTS); return(null); } sourceList = FilteredList; break; default: sourceList = List; break; } if (item.FilterProperty == IFilterProperty.All) { FCriteria criteria = GetCriteria(string.Empty, item.Value, null, item.Operation); list = sourceList.GetSortedSubList(criteria, _properties_list); } else { FCriteria criteria = GetCriteria(item.Column, item.Value, null, item.Operation); list = sourceList.GetSortedSubList(criteria, _properties_list); } if (list.Count == 0) { MessageBox.Show(Face.Resources.Messages.NO_RESULTS); return(sourceList.GetSortedList()); } DatosSearch.DataSource = list; DatosSearch.MoveFirst(); AddFilterLabel(item); return(list); }
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); }