#include "Usuario.h"
// No es necesario incluir "Ramo.h" si solo se usa forward declaration

Usuario::Usuario(int id, const QString& nombre, const QString& email, const QString& carrera, int totalCreditosAprobados)
    : idUsuario(id), nombre(nombre), email(email), carrera(carrera), totalCreditosAprobados(totalCreditosAprobados) {
}

int Usuario::getIdUsuario() const {
    return idUsuario;
}

QString Usuario::getNombre() const {
    return nombre;
}

QString Usuario::getEmail() const {
    return email;
}

QString Usuario::getCarrera() const {
    return carrera;
}

int Usuario::getTotalCreditosAprobados() const {
    return totalCreditosAprobados;
}

void Usuario::setNombre(const QString& nombre) {
    this->nombre = nombre;
}

void Usuario::setEmail(const QString& email) {
    this->email = email;
}

void Usuario::setCarrera(const QString& carrera) {
    this->carrera = carrera;
}

void Usuario::setTotalCreditosAprobados(int creditos) {
    this->totalCreditosAprobados = creditos;
}

// Podríamos añadir una función para sumar/restar créditos al aprobar/eliminar ramos.
// void Usuario::agregarRamo(Ramo* ramo) {
//     ramosInscritos.append(ramo);
// }