#include "persons.h"
#include "catalog.h"
#include <string>
#include <iostream>

int main(){
    CyclistCatalog c;
    DirectorCatalog d;
    std::string team;

    c.Load ("/home/yulalo/Escritorio/CARRERA/poo/p4/data/cyclists.csv");
    d.Load ("/home/yulalo/Escritorio/CARRERA/poo/p4/data/directors.csv");
    std::vector<Cyclist> CiclistV=c.Data(), CyclistVectAux;
    std::vector<Director> DirectorV=d.Data();

    std::cout << "Hay este número de ciclistas: \n" << c.Size() << std::endl;
    std::cout << "LISTADO: \n" << std::endl;
    for (int i=0; i<c.Size(); i++){
        std::cout << CiclistV[i].GetName() << " | " << CiclistV[i].GetBirthYear() << " | " << CiclistV[i].GetTeam() << " | " << CiclistV[i].GetCyclistId() << "\n" << std::endl;
    }

    std::cout << "\n" << std::endl;

    std::cout << "Hay este número de directores: \n" << d.Size() << std::endl;
    std::cout << "LISTADO: \n" << std::endl;
    for (auto& direct : DirectorV){
        std::cout << direct.GetName() << " | " << direct.GetBirthYear() << " | " << direct.GetTeam() << " | " << direct.GetDirectorSince() << direct.GetUciLicenseId() << "\n" << std::endl;
    }

    std::cout << "\n" << std::endl;

    std::cout << "Dime el nombre de un equipo: \n" << std::endl;
    std::getline(std::cin,team);
    CyclistVectAux=c.GetByTeam(team);
    std::cout << "LISTADO DEL EQUIPO: \n" << std::endl;
    for (auto& c : CyclistVectAux){
        std::cout << c.GetName() << " | " << c.GetBirthYear() << " | " << c.GetTeam() << " | " << c.GetCyclistId() << "\n" << std::endl;
    }

    std::cout << "\n" << std::endl;

    CyclistVectAux=c.GetYoungest();
    std::cout << "CICLISTA/S MAS JÓVENES:\n" << std::endl;
    for (auto& c : CyclistVectAux){
        std::cout << c.GetName() << " | " << c.GetBirthYear() << " | " << c.GetTeam() << " | " << c.GetCyclistId() << "\n" << std::endl;
    }
    
}