private void Bw_export_DoWork(object sender, DoWorkEventArgs e)
 {
     try {
         if (e.Argument == null)
         {
             ConfigChecker cch = new ConfigChecker(progetti[0]);
             cch.checkAll();
             if (cch.errors > 0)
             {
                 e.Result = cch.errors;
                 return;
             }
         }                
         Logger.Log("Verifica terminata");
         FileManager.generateConf(progetti[0]);
         Logger.Log("Esportazione terminata correttamente.");
         e.Result = 0;
     }
     catch (ConfigCheckerException cce)
     {
         Logger.Log("Esportazione annullata.");
         e.Result = 0;
         return;
     }
     catch (Exception xe)
     {
         Logger.Log ("Errore durante l'esportazione della configurazione " + xe.Message,"Red");
         e.Result = 0;
         return;
     }
 }
 private void Bw_check_DoWork(object sender, DoWorkEventArgs e)
 {
     try {
         ConfigChecker cch = new ConfigChecker(progetti[0]);
         cch.checkAll();
     }
     catch(Exception ce) {
         Logger.Log("Errore ConfigChecker" + ce.Message + " " + ce.StackTrace, "Red");
     }
 }        
        private void Bw_exportreboot_DoWork(object sender, DoWorkEventArgs e)
        {
            try {
                if (e.Argument == null)
                {
                    ConfigChecker cch = new ConfigChecker(progetti[0]);
                    cch.checkAll();
                    if (cch.errors > 0)
                    {
                        e.Result = cch.errors;
                        return;
                    }
                    Logger.Log("Verifica terminata");
                }
                if ((string)e.Argument != "onlyreboot")
                {
                    FileManager.generateConf(progetti[0]);
                    if (progetti[0].Properties["Ridondanza Enabled"].ToLower() == "true")
                    {
                        this.Dispatcher.Invoke(mergeDirMethod, progetti[0].Properties["MasterSharedFolder"], progetti[0].Properties["BackupSharedFolder"], "*");
                    }
                    Logger.Log("Configuration  successfully exported ");
                }
                rebootGW(progetti[0].Properties["IPMaster"],progetti[0].Properties["Port Master"],true);
                if (progetti[0].Properties["Ridondanza Enabled"].ToLower()=="true")
                {
                    rebootGW(progetti[0].Properties["IPBackup"], progetti[0].Properties["Port Backup"], false);
                }
                e.Result = 0;
            }
            catch (ConfigCheckerException cce)
            {
                e.Result = 0;
                return;
            }
            catch (Exception xe)
            {
                Logger.Log("Error exporting configuration and rebooting gateway: " + xe.Message,"Red");
                e.Result = 0;
                return;

            }
        }