#ifndef SEMESTRE_H
#define SEMESTRE_H

#include <QString>
#include <QDate>
#include <QList>
#include <QDebug>

class Semestre {
public:
    // Constructor
    Semestre(int id, const QString& nombre, const QDate& fechaInicio, const QDate& fechaFin);

    // Getters
    int getIdSemestre() const;
    QString getNombre() const;
    QDate getFechaInicio() const;
    QDate getFechaFin() const;
    int getNumeroSemanas() const;

    // Setters
    void setNombre(const QString& nombre);
    void setFechaInicio(const QDate& fechaInicio);
    void setFechaFin(const QDate& fechaFin);

    // Método para calcular la semana a partir de una fecha
    int obtenerSemanaDesdeFecha(const QDate& fecha) const;

private:
    int idSemestre;
    QString nombre;
    QDate fechaInicio;
    QDate fechaFin;
    static int nextId; // Para generar IDs únicos
};

#endif // SEMESTRE_H