<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Appartement extends Model
{
    use HasFactory;

    public $fillable = [
        'surface_habitable',
        'surface_sejour',
        'nbre_pieces',
        'nbre_chambres',
        'annee_construction',
        'nbre_niveaux',
        'categorie',
        'etat_general',
        'nbre_salle_bain',
        'meuble',
        'type_habitat',
        'regime_juridique',
        'date_permis_construire',
        'immeuble_vingt',
        'bien_id',
    ];

    protected $table = 'appartements';

    public function bien(){
        return $this->hasOne(Bien::class);
    }

    public function meuble(){
        switch($this->meuble){
            case 1:
                return 'oui';
                break;
            case 0:
                return 'non';
                break;
        }
    }

    public function etat_general() {
        switch($this->etat_general){
            case 68:
                return 'habitable';
                break;
            case 69:
                return 'travaux à prévoir';
                break;
            case 70:
                return 'très bon état';
                break;
            case 411:
                return 'état moyen';
                break;
            case 412:
                return 'neuf';
                break;
            case 431:
                return 'bon état';
                break;
            case 432:
                return 'exceptionnel';
                break;
            case 433:
                return 'a rafraîchir';
                break;
        }
    }

    public function categorie(){
        switch($this->categorie){
            case 1:
                return 'appartement';
                break;
            case 2:
                return 'appartement rénové';
                break;
            case 3:
                return 'habitation de loisirs';
                break;
            case 4:
                return 'appartement ancien';
                break;
            case 5:
                return 'appartement bourgeois';
                break;
            case 6:
                return 'appartement neuf';
                break;
            case 7:
                return 'appartement récent';
                break;
            case 8:
                return 'appartement à rénover';
                break;
        }
    }
}
