#include "Hito.h"

int Hito::nextId = 0; // Inicializar el contador estático

Hito::Hito(int id, const QString& nombreHito, const QDate& fechaHito, bool completado)
    : idHito(id), nombreHito(nombreHito), fechaHito(fechaHito), completado(completado) {
    if (id == 0) { // Asignar un ID si se pasa 0
        this->idHito = ++nextId;
    }
}

int Hito::getIdHito() const {
    return idHito;
}

QString Hito::getNombreHito() const {
    return nombreHito;
}

QDate Hito::getFechaHito() const {
    return fechaHito;
}

bool Hito::isCompletado() const {
    return completado;
}

void Hito::setNombreHito(const QString& nombreHito) {
    this->nombreHito = nombreHito;
}

void Hito::setFechaHito(const QDate& fechaHito) {
    this->fechaHito = fechaHito;
}

void Hito::setCompletado(bool completado) {
    this->completado = completado;
}

void Hito::marcarCompletado() {
    setCompletado(true);
    qDebug() << "Hito '" << nombreHito << "' marcado como completado.";
}

void Hito::mostrarDetalles() const {
    qDebug() << "--- Detalles de Hito ---";
    qDebug() << "ID:" << idHito;
    qDebug() << "Nombre Hito:" << nombreHito;
    qDebug() << "Fecha Hito:" << fechaHito.toString("dd/MM/yyyy");
    qDebug() << "Completado:" << (completado ? "Sí" : "No");
    qDebug() << "------------------------";
}