/// <summary>
 /// Will disconnect the user
 /// </summary>
 public static void HandleDisconnection()
 {
     if (Monitor.TryEnter(DisconnectLock))
     {
         StopCheckConnectionThread();
         if (_disconnectionWasHandle)
         {
             return;
         }
         try
         {
             Load.Disconnect();
             Application.Current.Dispatcher.BeginInvoke(new Action(() =>
             {
                 MessageHelper.ShowMessage("Déconnecté des internets",
                                           "Votre messager et son beau chapeau ne semble pas revenir.");
             }));
             _disconnectionWasHandle = true;
         }
         finally
         {
             Monitor.Exit(DisconnectLock);
         }
     }
 }