/// <summary>
        /// Lance le jeu du défi selectionné
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Cb_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            ChallengeButton s = sender as ChallengeButton;

            if (s.Tag != null)
            {
                Datas.Dual d    = s.Tag as Datas.Dual;
                Datas.Game game = (from i in Bdd.DbAccess.Games where d.idGame == i.ID select i).FirstOrDefault();
                try
                {
                    if (game.className == "QuestionaryControl")
                    {
                        int id = (int)game.idQuestionary;
                        App.mainWindow.LaunchGame(new QuestionaryControl(App.user.ID, game.ID, d.ID, id));
                    }
                    else
                    {
                        Type   game1 = Type.GetType("EducationAll.Games." + game.className);
                        object o     = Activator.CreateInstance(game1, App.user.ID, game.ID, d.ID);
                        App.mainWindow.LaunchGame(o as IGame);
                    }
                }
                catch (Exception)
                {
                    ErrorWindow wd = new ErrorWindow(false);
                    wd.Owner = App.mainWindow;
                    wd.ShowDialog();
                }
            }
        }
        private void Display()
        {
            App.mainWindow.Cursor = new Cursor(new System.IO.MemoryStream(EducationAll.Properties.Resources.WaitCursor));
            IEnumerable <Datas.Dual> listNewDuals;
            IEnumerable <Datas.Dual> listPastDuals;

            try//requete liste défis
            {
                listNewDuals = from i in Bdd.DbAccess.Duals
                               where i.idChallenged == App.user.ID && i.winner == null
                               orderby i.date
                               select i;
                listPastDuals = from i in Bdd.DbAccess.Duals
                                where (i.idChallenged == App.user.ID || i.idChallenger == App.user.ID) &&
                                i.winner != null
                                orderby i.date
                                select i;
            }
            catch (Exception)
            {
                return;
            }

            this.lNew.Content  = string.Format("À relever ({0})", listNewDuals.Count());
            this.lPast.Content = string.Format("Passés ({0})", listPastDuals.Count());

            foreach (Datas.Dual item in listNewDuals)//affiche chaque nouveaux défis
            {
                string username = (from i in Bdd.DbAccess.Users
                                   where i.ID == item.idChallenger
                                   select i.username).FirstOrDefault().ToString();
                string gameName = (from i in Bdd.DbAccess.Games
                                   where i.ID == item.idGame
                                   select i.name).FirstOrDefault().ToString();
                int             score1 = (int)(from i in Bdd.DbAccess.Scores where i.ID == item.idScoreChallenger select i.value).FirstOrDefault();
                ChallengeButton cb     = new ChallengeButton(username, gameName, item.date, score1, 0, false, false);
                cb.MouseLeftButtonDown += new MouseButtonEventHandler(Cb_MouseLeftButtonDown);
                cb.Tag = item;
                this.slistNewDuals.Children.Add(cb);
            }

            foreach (Datas.Dual item in listPastDuals)//affiche chaque défis passés
            {
                string username = (from i in Bdd.DbAccess.Users
                                   where (i.ID == item.idChallenged && i.ID != App.user.ID) ||
                                   (i.ID == item.idChallenger && i.ID != App.user.ID)
                                   select i.username).FirstOrDefault().ToString();
                string gameName = (from i in Bdd.DbAccess.Games
                                   where i.ID == item.idGame
                                   select i.name).FirstOrDefault().ToString();
                int  score1 = (int)(from i in Bdd.DbAccess.Scores where i.ID == item.idScoreChallenger select i.value).FirstOrDefault();
                int  score2 = (int)(from i in Bdd.DbAccess.Scores where i.ID == item.idScoreChallenged select i.value).FirstOrDefault();
                bool win    = item.winner == App.user.ID;
                this.slistPastDuals.Children.Add(new ChallengeButton(username, gameName, item.date, score1, score2, true, win));
            }

            App.mainWindow.Cursor = Cursors.Arrow;
        }