public List<Estado> cargar_lista_Estado()
        {
            try
            {
                conexion.origen.Open();
                var les = new List<Estado>();
                conexion.cmd = new SqlCommand("SELECT * from Estado", conexion.origen);
                conexion.dr1 = conexion.cmd.ExecuteReader();
                if (conexion.dr1.HasRows)
                {
                    while (conexion.dr1.Read())
                    {
                        var es = new Estado();
                        if (conexion.dr1["id_estado"] != DBNull.Value)
                        {
                            es.Id_estado = Convert.ToInt32(conexion.dr1["id_estado"]);
                        }
                        if (conexion.dr1["nombre"] != DBNull.Value)
                        {
                            es.Nombre = conexion.dr1["nombre"].ToString();
                        }

                        les.Add(es);
                    }
                }
                conexion.origen.Close();
                return les;
            }
            catch (Exception)
            {
                if (conexion.origen.State == ConnectionState.Open)
                    conexion.origen.Close();
                return null;
            }
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            //Control para que el usuario ingrese o seleccione campos obligatorios
            if (txtDireccion.Text=="")
            {
                MessageBox.Show("Ingrese una dirección", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl3.ForeColor = Color.Red;
                txtDireccion.BackColor = Color.Yellow;
                txtDireccion.Focus();
                return;
            }
            if (txtPrecio.Text == "")
            {
                MessageBox.Show("Ingrese un precio en pesos", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl6.ForeColor = Color.Red;
                txtPrecio.BackColor = Color.Yellow;
                txtPrecio.Focus();
                return;
            }
            /*if (mtbFechaInag.MaskFull==false)
            {
                MessageBox.Show("Ingrese una fecha de inauguración correctamente", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl9.ForeColor = Color.Red;
                mtbFechaInag.BackColor = Color.Yellow;
                mtbFechaInag.Focus();
                return;
            }*/
            if (cmbTipoPropiedad.SelectedIndex == 0)
            {
                MessageBox.Show("Seleccione un tipo de Propiedad", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl1.ForeColor = Color.Red;
                cmbTipoPropiedad.Focus();
                return;
            }
            if (cmbLocalidad.SelectedIndex == 0)
            {
                MessageBox.Show("Seleccione una Localidad", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl2.ForeColor = Color.Red;
                cmbLocalidad.Focus();
                return;
            }
            if (cmbEstado.SelectedIndex == 0)
            {
                MessageBox.Show("Seleccione un estado de la Propiedad", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl7.ForeColor = Color.Red;
                cmbEstado.Focus();
                return;
            }
            if (cmbRequisitos.SelectedIndex == 0)
            {
                MessageBox.Show("Seleccione el nivel de Requisitos", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl8.ForeColor = Color.Red;
                cmbRequisitos.Focus();
                return;
            }
            if (cmbServicios.SelectedIndex == 0)
            {
                MessageBox.Show("Seleccione el nivel de Servicio", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl10.ForeColor = Color.Red;
                cmbServicios.Focus();
                return;
            }
            //Si selecciono departamento debe ingresar un nro. de piso
            if (cmbTipoPropiedad.SelectedIndex == 2 && txtPiso.Text == "")
            {
                MessageBox.Show("Ingrese un piso", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl4.ForeColor = Color.Red;
                txtPiso.BackColor = Color.Yellow;
                txtPiso.Focus();
                return;
            }
            //Si selecciono departamento debe ingresar un Depto.
            if (cmbTipoPropiedad.SelectedIndex == 2 && txtDepto.Text == "")
            {
                MessageBox.Show("Ingrese un Depto.", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl5.ForeColor = Color.Red;
                txtDepto.BackColor = Color.Yellow;
                txtDepto.Focus();
                return;
            }
            //Controlar el si la fecha ingresada está dentro del rango válido
            //bool res = FechaValida(DateTime.Parse(mtbFechaInag.Text));
            bool res = FechaValida(DateTime.Parse(dtpFechaInaug.Text));
            if (res == false)
            {
                MessageBox.Show("Ingrese una fecha de inauguración correctamente", "Advertencia", MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                lbl9.ForeColor = Color.Red;
                dtpFechaInaug.Focus();
                //mtbFechaInag.BackColor = Color.Yellow;
                //mtbFechaInag.Focus();
                return;
            }

            //Foto pasarla a Byte en caso de ser distinta a la foto de inicio
            if (pbFoto.Image != null)
            {
                //p.foto = ImgToByte(pbFotoDeportista.Image);
                foto = ImgToByte(pbFoto.Image);
            }

            //Creo los objetos con los datos cargados por el Usuario.
            Propiedad p = new Propiedad();
            TipoPropiedad tp = new TipoPropiedad();
            //Localidad l = new Localidad();
            Barrio b = new Barrio();
            Estado es = new Estado();
            Requisito req = new Requisito();
            Servicio ss = new Servicio();
            p.Direccion = txtDireccion.Text;
            p.Descripcion = txtDescrip.Text;
            if (txtPiso.Text != "")
                p.Piso = int.Parse(txtPiso.Text);
            else
                p.Piso = 0;
            if(txtDepto.Text != "")
                p.Depto = char.Parse(txtDepto.Text);
            else
                p.Depto='ñ';
            p.FechaIng = DateTime.Parse(dtpFechaInaug.Text);
            p.NroHabitaciones = int.Parse(cmbNroHab.SelectedItem.ToString());
            tp = (TipoPropiedad)cmbTipoPropiedad.SelectedItem;
            //l = (Localidad)cmbLocalidad.SelectedItem;
            b = (Barrio)cmbBarrio.SelectedItem;
            es = (Estado)cmbEstado.SelectedItem;
            req = (Requisito)cmbRequisitos.SelectedItem;
            ss = (Servicio)cmbServicios.SelectedItem;
            p.Id_tipoPropiedad = tp.Id_tipoPropiedad;
            p.Id_barrio = b.Id_barrio;
            p.Id_estado = es.Id_estado;
            p.Id_requisito = req.Id_requisito;
            p.Id_servicio = ss.Id_servicio;
            p.Precio = double.Parse(txtPrecio.Text);
            if (contador > 0)
                p.foto = foto;
            else
                p.foto = null;
            /*if (foto != fotoXDefecto)
                p.foto = foto;
            else
                p.foto = null;*/

            //nuevos cambios
                    guardado = mp.ModificarPropiedad(id, p);
                    MessageBox.Show("La propiedad ha sido modificada", "Modificación de Propiedad", MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
                    Limpiar();
                    return;
        }