예제 #1
0
        protected override bool DoFilter()
        {
            bool          promo   = false;
            PromocionList 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 "Apellidos_RB":
                    {
                        criteria = new FCriteria <string>("Apellidos", Valor_TB.Text);
                        break;
                    }

                    case "Promocion_RB":
                    {
                        CriteriaEx criteriaex = Promocion.GetCriteria(Promocion.OpenSession());
                        criteriaex.AddContains("Nombre", Valor_TB.Text);

                        sublist = PromocionList.GetList(criteriaex);
                        // No existe el proveedor
                        if (sublist.Count == 0)
                        {
                            MessageBox.Show(Resources.Messages.NO_RESULTS);
                            return(false);
                        }
                        promo = true;
                        break;
                    }
                    }
                }
            }

            // Consulta en la bd
            AlumnoList lista = null;

            if (!promo)
            {
                lista = AlumnoList.GetList(_lista.GetSubList(criteria));
            }
            else
            {
                lista = AlumnoList.GetList(AlumnoList.GetFilteredList(_lista, sublist, "OidPromocion"));
            }

            Datos.DataSource = lista;

            if (lista.Count == 0)
            {
                MessageBox.Show(Resources.Messages.NO_RESULTS);
                return(false);
            }

            Datos.MoveFirst();

            _filtered_list = lista;

            return(true);
        }