private static void SaveSettingFile(string filePath)
 {
     if (filePath == null)
     {
         SaveFileDialog saveFileDialog = new SaveFileDialog
         {
             Filter           = "Setting File|config.ini",
             InitialDirectory = AppDomain.CurrentDomain.BaseDirectory
         };
         if (saveFileDialog.ShowDialog() == true)
         {
             SaveSettingFile(saveFileDialog.FileName);
             return;
         }
     }
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionPort, PaymapSettingKeys.IntPortMain, App.PaymapSettings.PortMain.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionPort, PaymapSettingKeys.IntPortRemote, App.PaymapSettings.PortRemote.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionPort, PaymapSettingKeys.IntPortDEVX, App.PaymapSettings.PortDEVX.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionAuth, PaymapSettingKeys.BoolAuthLevel1, App.PaymapSettings.AuthLevel1.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionAuth, PaymapSettingKeys.BoolAuthLevel2, App.PaymapSettings.AuthLevel2.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionAuth, PaymapSettingKeys.BoolAuthLevel3, App.PaymapSettings.AuthLevel3.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionVersion, PaymapSettingKeys.IntVersionLive, App.PaymapSettings.VersionLive.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionVersion, PaymapSettingKeys.IntVersionMin, App.PaymapSettings.VersionMin.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionAuth, PaymapSettingKeys.BoolAuthLevel1, App.PaymapSettings.AuthLevel1.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionThread, PaymapSettingKeys.BoolThreadDashboard, App.PaymapSettings.ThreadSwitchDashboard.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionThread, PaymapSettingKeys.IntThreadIntervalDashboard, App.PaymapSettings.ThreadIntervalDashboard.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionThread, PaymapSettingKeys.BoolThreadDEVX, App.PaymapSettings.ThreadSwitchDEVX.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionThread, PaymapSettingKeys.IntThreadIntervalDEVX, App.PaymapSettings.ThreadIntervalDEVX.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionAPI, PaymapSettingKeys.StringAPIFirebase, App.PaymapSettings.APIFirebase);
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionAPI, PaymapSettingKeys.StringAPICatcher, App.PaymapSettings.APICatcher);
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionAPI, PaymapSettingKeys.StringAPIReviewer, App.PaymapSettings.APIReviewer);
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionDB, PaymapSettingKeys.StringDBAddress, App.PaymapSettings.DBAddress);
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionDB, PaymapSettingKeys.IntDBPort, App.PaymapSettings.DBPort.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionDEVX, PaymapSettingKeys.BoolDEVXMaster, App.PaymapSettings.DEVXMaster.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionDEVX, PaymapSettingKeys.BoolDEVXReport, App.PaymapSettings.DEVXReport.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionDEVX, PaymapSettingKeys.BoolDEVXCommand, App.PaymapSettings.DEVXCommand.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogLevel1, App.PaymapSettings.LogLevel1.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogLevel2, App.PaymapSettings.LogLevel2.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogLevel3, App.PaymapSettings.LogLevel3.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogLevel4, App.PaymapSettings.LogLevel4.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogLevel5, App.PaymapSettings.LogLevel5.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterLevel1, App.PaymapSettings.LogFilterLevel1.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterLevel2, App.PaymapSettings.LogFilterLevel2.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterLevel3, App.PaymapSettings.LogFilterLevel3.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterLevel4, App.PaymapSettings.LogFilterLevel4.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterLevel5, App.PaymapSettings.LogFilterLevel5.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterType1, App.PaymapSettings.LogFilterType1.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterType2, App.PaymapSettings.LogFilterType2.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterType3, App.PaymapSettings.LogFilterType3.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterType4, App.PaymapSettings.LogFilterType4.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterType5, App.PaymapSettings.LogFilterType5.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterType6, App.PaymapSettings.LogFilterType6.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterType7, App.PaymapSettings.LogFilterType7.ToString());
     ConfigSystem.WriteConfig(filePath, PaymapSettingKeys.SectionLog, PaymapSettingKeys.BoolLogFilterType8, App.PaymapSettings.LogFilterType8.ToString());
 }