Esempio n. 1
0
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// Configuration du client
 /// </summary>
 /// <param name="sender">l'appelant</param>
 /// <param name="e">les parametres</param>
 /// -----------------------------------------------------------------------------
 private void ConfigureItem_Click(object sender, EventArgs e)
 {
     var previous = ClientState;
     ClientState = EClientState.Changing;
     using (var setup = new SetupForm(_client.ClientConfig))
     {
         if (setup.ShowDialog() == DialogResult.OK)
         {
             /*
              * Petite subtilite: a ce moment la configuration m_client contient de faux loggers
              * utiles uniquement pour sauvegarder le parametrage dans le fichier de configuration.
              * 
              * Par contre les vrais instances des loggers sont conserves dans l'ancetre BdtClient.
              * UnLoadConfiguration va fermer ces loggers. LoadConfiguration va recharger le fichier
              * de configuration prealablement sauvegarde pour remettre a jour les instances ->
              * rechargement de la section logs uniquement
              * 
              */
             ClientState = previous;
             WaitThenStopClientIfNeeded();
             try
             {
                 _client.ClientConfig.SaveToFile(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + _client.ConfigFile);
                 _client.UnLoadConfiguration();
                 _client.LoadConfiguration();
                 StartItem_Click(sender, e);
             }
             catch (Exception ex)
             {
                 _client.Log(ex.Message, ESeverity.ERROR);
                 _client.Log(ex.ToString(), ESeverity.DEBUG);
             }
         }
         else
         {
             ClientState = previous;
         }
     }
 }