//Fonction pour ajouter un utilisateur dans le xml
        public void SaveUser(User user)
        {
            /*
            UserFileName = "users.xml"; //hardcodé, pas un requis de le spécifier
            XmlWriter xmlW = XmlWriter.Create(UserFileName);
            xmlW.WriteStartDocument();

            xmlW.WriteStartElement("User");
            xmlW.WriteAttributeString("Name", user.Name);
            xmlW.WriteAttributeString("Race", user.Race);
            xmlW.WriteAttributeString("Pouvoir", user.Pouvoir);
            xmlW.WriteAttributeString("Itude", user.Itude);
            xmlW.WriteEndElement();

            xmlW.WriteEndDocument();
            xmlW.Close();
            */
            UserFileName = "users.xml"; //hardcodé, pas un requis de le spécifier

            //On vérifie si le fichier existe, sinon on le crée
            XDocument xmlDoc;
            if (File.Exists(UserFileName))
                xmlDoc = XDocument.Load(UserFileName);
            else
                xmlDoc = new XDocument();

            if (xmlDoc.Elements("Users").Count() == 0)
            {
                //User section doesn't exist
                XElement newUser = 
                new XElement ("Users",
                    new XElement("User",
                        new XElement("Name", user.Name),
                        new XElement("Race", user.Race),
                        new XElement("Pouvoir", user.Pouvoir),
                        new XElement("Itude", user.Itude)
                    )
                );
                xmlDoc.Add(newUser);
                xmlDoc.Save(UserFileName);
            }
            else //User section exists
            {
                XElement users = xmlDoc.Element("Users");
                XElement newUser = new XElement("User",
                    new XElement("Name", user.Name),
                    new XElement("Race", user.Race),
                    new XElement("Pouvoir", user.Pouvoir),
                    new XElement("Itude", user.Itude));
                users.Add(newUser);
                xmlDoc.Save(UserFileName);
            }

        }
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to the Starcrafto manager! Input your command:");
            bool wantToQuit = false;
            IXmlManager xmlHandle = new XmlHandler();
            //On attend toujours des options
            while (!wantToQuit)    
            {
                string [] fullCommand = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);  //should capitalize [0]
                if (fullCommand.Length != 0)
                {
                    switch (fullCommand[0])
                    {
                        case "ADD": //Ajout d'un élément vers le XML
                            if (fullCommand.Length == 5)    //Si on a 5 parametres, on ajoute un user
                            {
                                User newUser = new User{ Name = fullCommand[1], Race = fullCommand[2], Pouvoir = fullCommand[3], Itude = fullCommand[4] };
                                
                                xmlHandle.SaveUser(newUser);
                                Console.WriteLine("Command executed: " + fullCommand[0] + " " + fullCommand[1] + " " + fullCommand[2] + " " + fullCommand[3] + " " + fullCommand[4]);
                            }
                            else if (fullCommand.Length == 4)    //Si on a 4 parametres, on ajoute un groupe
                            {
                 
                                GroupMap newGroup = new GroupMap { GroupName = fullCommand[2], Population = fullCommand[1], User = fullCommand[3] };

                                xmlHandle.SaveGroupMap(newGroup);
                                Console.WriteLine("Command executed: " + fullCommand[0] + " " + fullCommand[1] + " " + fullCommand[2] + " " + fullCommand[3] + " ");
                            }
                            else  // Sinon, on a un nb incorrect de param pour ADD
                            {
                                Console.WriteLine("Parametres incorrects!!");
                                break;
                            }
                            break;
                        case "PRINT": //Afficher des infos à l'écran
                            if (fullCommand.Length == 2)
                            {
                                if (fullCommand[1] == "Users")
                                {
                                    List<User> allUsers = xmlHandle.ReadUserList();
                                    foreach(User user in allUsers)
                                    {
                                        Console.WriteLine(user.Name + " " + user.Race + " " + user.Pouvoir + " " + user.Itude + " ");
                                    }
                                }
                                else if (fullCommand[1] == "POPULATION")
                                {

                                }
                            }
                            break;
                        case "EXIT":
                            wantToQuit = true;
                            return;
                        default:
                            Console.WriteLine("Hmm, something happened. Wrong comand");
                            break;
                    }
                }
                
            }
            Console.WriteLine("Press any key to exit.");
            Console.ReadLine();
        }