public List <Inmueble> BuscarPorPropietario(int id)
        {
            List <Inmueble> res = new List <Inmueble>();
            Inmueble        e   = null;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string sql = $"SELECT IdInmueble, Direccion, Ambientes, Superficie, Tipo, Precio, Estado, Imagen" +
                             $" PropietarioId, p.Nombre, p.Apellido" +
                             $" FROM Inmuebles i INNER JOIN Propietarios p ON i.PropietarioId = p.IdPropietario" +
                             $" WHERE PropietarioId = @id";
                using (SqlCommand command = new SqlCommand(sql, connection))
                {
                    command.Parameters.Add("@id", SqlDbType.Int).Value = id;
                    command.CommandType = CommandType.Text;
                    connection.Open();
                    var reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        e = new Inmueble
                        {
                            IdInmueble    = reader.GetInt32(0),
                            Direccion     = reader.GetString(1),
                            Ambientes     = reader.GetInt32(2),
                            Superficie    = reader.GetInt32(3),
                            Tipo          = reader.GetString(4),
                            Precio        = reader.GetInt32(5),
                            Estado        = reader.GetInt32(6),
                            Imagen        = reader["Imagen"].ToString(),
                            PropietarioId = reader.GetInt32(8),
                            Duenio        = new Propietario
                            {
                                IdPropietario = reader.GetInt32(8),
                                Nombre        = reader.GetString(9),
                                Apellido      = reader.GetString(10),
                            }
                        };
                        res.Add(e);
                    }
                    connection.Close();
                }
            }
            return(res);
        }
        public List <Inmueble> ObtenerTodos()
        {
            List <Inmueble> res = new List <Inmueble>();

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string sql = $"SELECT IdInmueble, Direccion, Ambientes, Superficie, Tipo, Precio, Estado, Imagen," +
                             $" PropietarioId, p.Nombre, p.Apellido" +
                             " FROM Inmuebles i INNER JOIN Propietarios p ON i.PropietarioId = p.IdPropietario";
                using (SqlCommand command = new SqlCommand(sql, connection))
                {
                    command.CommandType = CommandType.Text;
                    connection.Open();
                    var reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Inmueble i = new Inmueble
                        {
                            IdInmueble    = reader.GetInt32(0),
                            Direccion     = reader.GetString(1),
                            Ambientes     = reader.GetInt32(2),
                            Superficie    = reader.GetInt32(3),
                            Tipo          = reader.GetString(4),
                            Precio        = reader.GetInt32(5),
                            Estado        = reader.GetInt32(6),
                            Imagen        = reader["Imagen"].ToString(),
                            PropietarioId = reader.GetInt32(8),
                            Duenio        = new Propietario
                            {
                                IdPropietario = reader.GetInt32(8),
                                Nombre        = reader.GetString(9),
                                Apellido      = reader.GetString(10),
                            }
                        };
                        res.Add(i);
                    }
                    connection.Close();
                }
            }
            return(res);
        }
        public int Alta(Inmueble i)
        {
            int res = -1;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string sql = $"INSERT INTO Inmuebles (Direccion, Ambientes, Superficie, Tipo, Precio, Estado, Imagen, PropietarioId) " +
                             "VALUES (@direccion, @ambientes, @superficie, @tipo, @Precio, @estado, @imagen, @propietarioId);" +
                             "SELECT SCOPE_IDENTITY();";
                using (var command = new SqlCommand(sql, connection))
                {
                    command.CommandType = CommandType.Text;
                    command.Parameters.AddWithValue("@direccion", i.Direccion);
                    command.Parameters.AddWithValue("@ambientes", i.Ambientes);
                    command.Parameters.AddWithValue("@superficie", i.Superficie);
                    command.Parameters.AddWithValue("@tipo", i.Tipo);
                    command.Parameters.AddWithValue("@Precio", i.Precio);
                    command.Parameters.AddWithValue("@estado", i.Estado);
                    if (String.IsNullOrEmpty(i.Imagen))
                    {
                        command.Parameters.AddWithValue("@imagen", DBNull.Value);
                    }
                    else
                    {
                        command.Parameters.AddWithValue("@imagen", i.Imagen);
                    }
                    command.Parameters.AddWithValue("@propietarioId", i.PropietarioId);

                    connection.Open();
                    res          = Convert.ToInt32(command.ExecuteScalar());
                    i.IdInmueble = res;
                    connection.Close();
                }
            }
            return(res);
        }