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();
        }
Exemple #2
0
 public HimmsSubscriber(HimmsIntegrationData objHimmsIntegrationData)
 {
     _logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType,
                                                        "AID");
     _himmsConfiguration = objHimmsIntegrationData;
 }