#include "user.h"
#include <string>
#include <iostream>

namespace ns1{
int a; // Esta es la variable ns1::a
int b; // Esta es la variable ns1::b
}
namespace ns2{
float a; // Esta es la variable ns2::a
float c; // Esta es la variable ns2::c
}

User ReadUserFromConsole(){
    std::string id, surname, name, nationality;
    int d, m, y;

    std::cout << "Escribe el ID del usuario:" << std::endl;
    std::cin >> id;
    std::cout << "Escribe los apellidos del usuario:" << std::endl;
    std::cin.ignore(); //limpiar buffer, porque no funciona el getline ya que pilla el salto de linea del cin anterior
    std::getline(std::cin,surname);
    std::cout << "Escribe el nombre del usuario:" << std::endl;
    std::cin >> name;
    std::cout << "Escribe la nacionalidad del usuario:" << std::endl;
    std::cin >> nationality;
    std::cout << "Escribe el dia de nacimiento del usuario:" << std::endl;
    std::cin >> d;
    std::cout << "Escribe el mes de nacimiento del usuario:" << std::endl;
    std::cin >> m;
    std::cout << "Escribe el año de nacimiento del usuario:" << std::endl;
    std::cin >> y;

    User usuario(id, surname, name, nationality, d, m ,y);
    return usuario;
}

void PrintUserToConsole(User usuario){
    std::cout<<"El ID del usuario es: " << usuario.GetId() << std::endl;
    std::cout<<"El nombre del usuario es: " << usuario.GetName() << std::endl;
    std::cout<<"Los apellidos del usuario es: " << usuario.GetSurname() << std::endl;
    std::cout<<"La nacionalidad del usuario es: " << usuario.GetNationality() << std::endl;
    std::cout<<"El dia de nacimiento del usuario es: " << usuario.GetDay() << std::endl;
    std::cout<<"El mes de nacimiento del usuario es: " << usuario.GetMonth() << std::endl;
    std::cout<<"El año de nacimiento del usuario es: " << usuario.GetYear() << std::endl;
    std::cout<<"¿El usuario está completo? --> " << usuario.GetComplete() << std::endl;
}

int main(){

    int a=55;
    ns1::a=0;
    ns2::a=2.3;
    std::cout << "ns1::a= " << ns1::a << "\n";
    std::cout << "ns2::a= " << ns2::a << "\n";
    std::cout << "a= " << a << "\n";

    User usuario1("");
    std::cout<<"Usuario creado con exito" << std::endl;

    usuario1=ReadUserFromConsole();
    std::cout << "Usuario rellenado" << std::endl;

    PrintUserToConsole(usuario1);
    std::cout << "Usuario mostrado por pantalla" << std::endl;



}
