コード例 #1
0
 public virtual void Subscribe(CallDataProviders provider)
 {
     if (provider != null)
     {
         cancellation = provider.Subscribe(this);
     }
 }
コード例 #2
0
        /// <summary>
        /// Subscribes the specified provider.
        /// </summary>
        /// <param name="provider">The provider.</param>

        #region Subscribe

        public virtual void Subscribe(CallDataProviders provider)
        {
            try
            {
                cancellation = provider.Subscribe(this);
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Subscribe CRM DB Integration " + generalException.ToString());
            }
        }
コード例 #3
0
 /// <summary>
 /// Subscribes the specified provider.
 /// </summary>
 /// <param name="provider">The provider.</param>
 public virtual void Subscribe(CallDataProviders provider)
 {
     try
     {
         cancellation = provider.Subscribe(this);
     }
     catch (Exception _generalException)
     {
         logger.Error("Error occurred as " + _generalException.Message);
     }
 }
コード例 #4
0
        /// <summary>
        /// Subscribes the specified provider.
        /// </summary>
        /// <param name="provider">The provider.</param>

        #region Subscribe

        public virtual void Subscribe(CallDataProviders provider)
        {
            try
            {
                cancellation  = provider.Subscribe(this);
                portListerner = new MultiClienTCPPort();
                MultiClienTCPPort.DataReadEvent           += new MultiClienTCPPort.DataRead(MultiClienTCPPort_DataReadEvent);
                MultiClienTCPPort.ClientConnectedEvent    += new MultiClienTCPPort.ClientConnected(MultiClienTCPPort_ClientConnectedEvent);
                MultiClienTCPPort.ClientDisconnectedEvent += new MultiClienTCPPort.ClientDisconnected(MultiClienTCPPort_ClientDisconnectedEvent);
                portListerner.Start(Settings.GetInstance().PortSetting.IncomingPortNumber, Settings.GetInstance().PortSetting.OutGoingPortNumber);
            }
            catch (Exception ex)
            {
                logger.Error("Error Occurred as  : " + ex.Message);
            }
        }
コード例 #5
0
        /// <summary>
        /// Subscribes the specified provider.
        /// </summary>
        /// <param name="provider">The provider.</param>

        public virtual void Subscribe(CallDataProviders provider)
        {
            try
            {
                cancellation = provider.Subscribe(this);
                if (objConfiguration.IsServer)
                {
                    logger.Info("The pipe '" + objConfiguration.PipeName + "' is enabled server.");
                    Thread pipeServerThread = new Thread(new ThreadStart(StartServer));
                    pipeServerThread.Start();
                }
            }
            catch (Exception generalExcetion)
            {
                logger.Error("Error occurred as " + generalExcetion.Message);
            }
        }
コード例 #6
0
 public virtual void Subscribe(CallDataProviders provider)
 {
     try
     {
         provider.Subscribe(this);
         if (!string.IsNullOrEmpty(_himmsConfiguration.LoginUrl))
         {
             _logger.Trace("Login URL: " + _himmsConfiguration.LoginUrl);
             PopupLoginUrl(_himmsConfiguration.LoginUrl);
         }
         else
         {
             _logger.Warn("The login url is not specified.");
         }
     }
     catch (Exception generalExcetion)
     {
         _logger.Error("Error occurred as " + generalExcetion.Message);
     }
 }
コード例 #7
0
        public void InitializeIntegration(ConfService confProtocol, string applicationName, System.Collections.Generic.Dictionary <string, bool> integrationMediaList = null)
        {
            Thread newThread = new Thread(() =>
            {
                _logger.Info("**********************************************************************************************************************");
                _logger.Info("Pointel.Integration.Core :" + Assembly.GetExecutingAssembly().GetName().Version);
                _logger.Info("***********************************************************************************************************************");
                _logger.Info("Retrieving Values from Application third party integration start.");
                ReadApplication readApplication = new ReadApplication();
                Settings settings = Settings.GetInstance();

                try
                {
                    readApplication.ReadIntegrationDecisionKeyCollections();
                    callData = readApplication.ReadFileIntegrationKeyCollections(confProtocol, applicationName);
                    readApplication.ReadApplicationValue(confProtocol, applicationName);
                    newCallDataProvider = new CallDataProviders();

                    if (settings.EnableFileCommunication)
                    {
                        InitFileIntegration();
                    }
                    else
                    {
                        _logger.Warn("File Communication Disabled");
                    }

                    if (settings.EnablePortCommunication)
                    {
                        try
                        {
                            portSubscriber = new PortSubscriber();
                            portSubscriber.Subscribe(newCallDataProvider);
                            callData.PortData.Decision = IntegrationAction.Open;
                            newCallDataProvider.NewCallData(callData);
                        }
                        catch (Exception ex)
                        {
                            _logger.Error("Error occurred while subcribe Port as " + ex.Message);
                        }
                    }
                    else
                    {
                        _logger.Info("Port integration disabled.");
                    }

                    if (settings.EnablePipeCommunication)
                    {
                        InitPipeIntegration();
                    }
                    else
                    {
                        _logger.Info("Pipe integration disabled.");
                    }

                    if (settings.EnableURLCommunication)
                    {
                        InitWebUrlIntegration(integrationMediaList);
                    }
                    else
                    {
                        _logger.Info("URL integration disabled.");
                    }

                    if (settings.EnableCrmDbCommunication)
                    {
                        try
                        {
                            crmDbSubscriber = new CrmDbSubscriber();
                            crmDbSubscriber.Subscribe(newCallDataProvider);
                        }
                        catch (Exception ex)
                        {
                            _logger.Error("Error occurred while subcribe DB Communication as " + ex.Message);
                        }
                    }
                    else
                    {
                        _logger.Info("Database integration disabled");
                    }

                    if (ConfigContainer.Instance().AllKeys.Contains("voice.enable.agent-activity-db-integration") && ConfigContainer.Instance().GetAsBoolean("voice.enable.agent-activity-db-integration"))
                    {
                        try
                        {
                            var agentActivitySubscriber = new AgentActivitySubscriber();
                            agentActivitySubscriber.Subscribe(newCallDataProvider);
                        }
                        catch (Exception ex)
                        {
                            _logger.Error("Error occurred while subcribe DB Communication as " + ex.Message);
                        }
                    }
                    else
                    {
                        _logger.Info("Agent interaction activity disabled");
                    }


                    ISoftphoneListener softSubscriber = new DesktopMessenger();
                    SoftPhone softPhone = new SoftPhone();
                    softPhone.Subscribe(softSubscriber, Softphone.Voice.SoftPhoneSubscriber.Integration);

                    StartHIMMSIntegration();
                }
                catch (Exception generalException)
                {
                    _logger.Error("Error occurred while reading integration part from the application " + generalException.ToString());
                }
            }); newThread.Start();
        }