Example #1
0
        /// <summary>
        /// Botón que filtra del archivo según los radioButton: Apartamento/Casa, Alquiler/Compra
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRadiobtnAceptar_Click(object sender, EventArgs e)
        {
            List <Inmueble> ListaInmCiudad = new List <Inmueble>();

            dataGridView1.DataSource = null;
            lista.Clear();
            // La primera Flag indica: "A" Apartamento, "C" Casa
            // La segunda Flag indica: "A" Alquiler, "V" Venta
            if (radioBtnApto.Checked && radioBtnAlquilar.Checked)
            {
                lista = m.Filtro_AlquilerVenta_AptoCasa("A", "A");
                comboBoxCiudades.DataSource = null;
            }
            else if (radioBtnCasa.Checked && radioBtnAlquilar.Checked)
            {
                lista = m.Filtro_AlquilerVenta_AptoCasa("C", "A");
                comboBoxCiudades.DataSource = null;
            }
            else if (radioBtnApto.Checked && radioBtnComprar.Checked)
            {
                lista = m.Filtro_AlquilerVenta_AptoCasa("A", "V");
                comboBoxCiudades.DataSource = null;
            }
            else if (radioBtnCasa.Checked && radioBtnComprar.Checked)
            {
                lista = m.Filtro_AlquilerVenta_AptoCasa("C", "V");
                comboBoxCiudades.DataSource = null;
            }
            if (!radioBtnCasa.Checked && !radioBtnApto.Checked || !radioBtnAlquilar.Checked && !radioBtnComprar.Checked)
            {
                MessageBox.Show("Falta data");
                comboBoxCiudades.DataSource = null;
            }
            if (txtPrecioMin.Text != "" || txtPrecioMax.Text != "")
            {
                Int32 min = 0;
                Int32 max = 0;
                // Como entra a este if, sólo si el usuario ingresó minimo Ó máximo.
                // Se valida que, si no puso mínimo, el mínimo sea 0,
                // Si no hay máximo, el máximo es un número muy alto para que entren todos los inmuebles.
                // De esta forma se valida por ej, que si sólo se buscan casas hasta 300.000 dólares (mínimo no completado), entonces, el mínimo es cero.
                if (txtPrecioMin.Text.Length == 0 && txtPrecioMax.Text.Length > 0)
                {
                    min = 0;
                    max = Convert.ToInt32(txtPrecioMax.Text);
                }
                if (txtPrecioMin.Text.Length > 0 && txtPrecioMax.Text.Length == 0)
                {
                    min += Convert.ToInt32(txtPrecioMin.Text);
                    max  = 150000000;
                }
                if (txtPrecioMin.Text.Length > 0 && txtPrecioMax.Text.Length > 0)
                {
                    min += Convert.ToInt32(txtPrecioMin.Text);
                    max  = Convert.ToInt32(txtPrecioMax.Text);
                }
                // La función, BuscarPorPrecio, requiere que se le pase una lista para que la filtre según
                // Las condiciones de min y máx. A su vez de dichas condiciones, pueden utilizarse ambas,
                // ninguna o sólo una.
                lista = m.BuscarPorPrecio(min, max, lista);
            }
            // Se carga el comboBox, mostrando sólamente las ciudades a las que pertenecen
            // los apartamentos de la lista filtrada.
            comboBoxCiudades.DataSource = m.Ciudades();
            dataGridView1.DataSource    = lista;
        }