//
//
//  Generated by StarUML(tm) C++ Add-In
//
//  @ Project : Untitled
//  @ File Name : DRH.cpp
//  @ Date : 10/06/2012
//  @ Author : 
//
//


#include "DRH.h"
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
using namespace std;

void DRH::DefinirTheme() {

    ifstream fichier("theme.txt", ios::in);  // on ouvre le fichier en lecture
    string  competence;
    //Initialisation "Base de données"
    if(fichier)
    {
        char want;
        do
        {

            vector <string> tab_competences;
            while(getline(fichier,competence))
            {
                tab_competences.push_back(competence);
            }

            for(unsigned int i=0;i<tab_competences.size();i++)
                cout<<"Competence : "<<tab_competences[i]<<endl;

            cout<<"Fin des competences. "<<endl;

            cout<<"Veuillez entrer une competence a ajouter"<<endl;
            cin>>competence;


            if(!find_vector(tab_competences,competence))
            {
                tab_competences.push_back(competence);
                cout<<"Vous avez ajoute la competence : "<<competence<<endl;

                ofstream fichier2("theme.txt", std::ios_base::app);  // ouverture en écriture avec effacement du fichier ouvert

                if(fichier2)
                {
                        fichier2<<"\n"<<competence;
                }
                else
                    cerr << "Impossible d'ouvrir le fichier !" << endl;
            }

            else
                cout<<"Competence existante! Impossible de l'ajouter"<<endl;

            do
            {
                cout<<"Continuer l'ajout de competence? (o/n)"<<endl;
                cin>>want;
            }while(want!='o'&&want!='n');



        }while(want=='o');

    }
    else
        cerr << "Impossible d'ouvrir le fichier !" << endl;


}

bool find_vector(vector <string> tab,string item)
{
    for(unsigned int i=0;i<tab.size();i++)
    {
        if(tab[i]==item)
            return true;
    }
    return false;
}

