<?php

class CondicaoDiaria
{
    private $db;

    public function __construct()
    {
        $this->db = new Database();
    }

    // Lista todas as condições de diária
    public function listarTodas()
    {
        $this->db->query("
            SELECT * 
            FROM condicao_diaria
            WHERE removido IS NULL
            ORDER BY descricao
        ");
        return $this->db->resultados();
    }

    // Busca condição pelo ID
    public function lerPorId($id_condicao_diaria)
    {
        $this->db->query("
            SELECT * 
            FROM condicao_diaria 
            WHERE id_condicao_diaria = :id_condicao_diaria
        ");
        $this->db->bind("id_condicao_diaria", $id_condicao_diaria);
        return $this->db->resultado();
    }

    // Insere uma nova condição
    public function armazenar($dados)
    {
        $this->db->query("
            INSERT INTO condicao_diaria (descricao, criado_em, id_usuario)
            VALUES (:descricao, NOW(), :id_usuario)
        ");
        $this->db->bind("descricao", $dados['descricao']);
        $this->db->bind("id_usuario", $dados['id_usuario']);
        return $this->db->executa();
    }

    // Atualiza uma condição existente
    public function atualizar($dados)
    {
        $this->db->query("
            UPDATE condicao_diaria SET
                descricao = :descricao,
                alterado = NOW()
            WHERE id_condicao_diaria = :id_condicao_diaria
        ");
        $this->db->bind("descricao", $dados['descricao']);
        $this->db->bind("id_condicao_diaria", $dados['id_condicao_diaria']);
        return $this->db->executa();
    }

    // Marca condição como removida (soft delete)
    public function remover($id_condicao_diaria)
    {
        $this->db->query("UPDATE condicao_diaria SET removido = NOW() WHERE id_condicao_diaria = :id_condicao_diaria");
        $this->db->bind("id_condicao_diaria", $id_condicao_diaria);
        return $this->db->executa();
    }
}
