public void StartHIMMSIntegration() { Thread objThread = new Thread(() => { try { CfgApplication application = null; if (ConfigContainer.Instance().AllKeys.Contains("CfgApplication")) { application = ConfigContainer.Instance().GetValue("CfgApplication"); } if (application != null) { if (!application.Options.ContainsKey("himms-integration")) { _logger.Warn("The HIMMS integration's configuration not found."); return; } KeyValueCollection kvHIMMS = application.Options.GetAsKeyValueCollection("himms-integration"); HimmsIntegrationData objHimmsConfiguration = new HimmsIntegrationData(); _logger.Trace("Try to parse the HIMMS configuration."); objHimmsConfiguration.ParseConfiguration(kvHIMMS); _logger.Trace("The HIMMS configuration parsed successfully."); //mannual login. //objHimmsConfiguration.UserName = username; //objHimmsConfiguration.Password = password; if (objHimmsConfiguration.IsEnabled) { HimmsSubscriber objHimmsSubscriber = new HimmsSubscriber(objHimmsConfiguration); _logger.Trace("Try to subcribe the HIMMS integration."); objHimmsSubscriber.Subscribe(newCallDataProvider); _logger.Trace("The HIMMS integration subscribed successfully."); } } else { _logger.Warn("The application object is null while start HIMMS integration."); } } catch (Exception generalException) { _logger.Error("Error occurred as " + generalException.Message); _logger.Trace("Error Trace : " + generalException.StackTrace); } }); objThread.Start(); }
public HimmsSubscriber(HimmsIntegrationData objHimmsIntegrationData) { _logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID"); _himmsConfiguration = objHimmsIntegrationData; }