public Notifier()
 {
     logger.Info("outbound notify constructor");
     InitializeComponent();
     this.DataContext = OutboundDataContext.GetInstance();
     logger.Info("outbound notify constructor -- Initialize Component");
     EventManager.RegisterClassHandler(typeof(UIElement), AccessKeyManager.AccessKeyPressedEvent, new AccessKeyPressedEventHandler(OnAccessKeyPressed));
     if (!OutboundDataContext.GetInstance().isEnableOutboundReject&& !OutboundDataContext.GetInstance().isEnableOutboundAccept)
     {
         OutboundDataContext.GetInstance().isEnableOutboundAccept = true;
         OutboundDataContext.GetInstance().isEnableOutboundReject = false;
     }
     if (!OutboundDataContext.GetInstance().isEnableOutboundReject&& OutboundDataContext.GetInstance().isEnableOutboundAccept)
     {
         btnLeft.Visibility = System.Windows.Visibility.Hidden;
         btnRight.Content   = "_Accept";
         btnRight.Style     = (Style)FindResource("CallButton");
     }
     if (!OutboundDataContext.GetInstance().isEnableOutboundAccept&& OutboundDataContext.GetInstance().isEnableOutboundReject)
     {
         btnLeft.Visibility = System.Windows.Visibility.Hidden;
         btnRight.Content   = "_Reject";
         btnRight.Style     = (Style)FindResource("RejectButton");
     }
     if (OutboundDataContext.GetInstance().isEnableOutboundReject&& OutboundDataContext.GetInstance().isEnableOutboundAccept)
     {
         btnLeft.Visibility = System.Windows.Visibility.Visible;
         btnLeft.Content    = "_Accept";
         btnRight.Content   = "_Reject";
         btnRight.Style     = (Style)FindResource("RejectButton");
     }
 }
        public IMessage GetContactList(int tenantDbId, StringList attributeList, SearchCriteriaCollection SearchCriteria, int maxCount = 0)
        {
            IMessage response = null;

            try
            {
                OutputValues output = Pointel.Interactions.Contact.Core.Request.RequestContactLists.GetContactList(tenantDbId, SearchCriteria, attributeList, maxCount);
                if (output.IContactMessage != null)
                {
                    logger.Info("RequestContactListGet result:" + output.IContactMessage.ToString());
                    if ("200".Equals(output.MessageCode))
                    {
                        response = output.IContactMessage;
                    }
                }
                else
                {
                    logger.Error("Error occurred while RequestContactListGet : " + output.Message);
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred as : " + generalException.ToString());
            }
            return(response);
        }
        /// <summary>
        /// Agents the logout.
        /// </summary>
        /// <param name="proxyId">The proxy identifier.</param>
        /// <returns></returns>
        public OutputValues AgentLogout(int proxyId)
        {
            OutputValues output = OutputValues.GetInstance();

            output.Message     = string.Empty;
            output.MessageCode = string.Empty;
            output.ErrorCode   = 0;
            try
            {
                RequestAgentLogout requestAgentlogout = RequestAgentLogout.Create();
                requestAgentlogout.ProxyClientId = proxyId;

                if (Settings.InteractionProtocol != null && Settings.InteractionProtocol.State == ChannelState.Opened)
                {
                    IMessage message = Settings.InteractionProtocol.Request(requestAgentlogout);
                    if (message != null)
                    {
                        switch (message.Id)
                        {
                        case EventAck.MessageId:
                            EventAck eventAgentLogout = (EventAck)message;
                            logger.Info("-------------AgentLogout----------------");
                            logger.Info("ProxyClientId    :" + proxyId);
                            logger.Info("Name    :" + eventAgentLogout.Name.ToString());
                            logger.Info("----------------------------------------");
                            logger.Trace(eventAgentLogout.ToString());
                            output.MessageCode = "200";
                            output.Message     = "Agent Logout Successful";
                            break;

                        case EventError.MessageId:
                            EventError eventError            = (EventError)message;
                            string     LoginErrorCode        = Convert.ToString(eventError.ErrorCode);
                            string     LoginErrorDescription = Convert.ToString(eventError.ErrorDescription);
                            logger.Trace(eventError.ToString());
                            output.ErrorCode   = eventError.ErrorCode;
                            output.MessageCode = "2002";
                            output.Message     = "AgentLogout() : " + LoginErrorDescription;
                            break;
                        }
                    }
                    else
                    {
                        output.MessageCode = "2001";
                        output.Message     = "Agent Logout UnSuccessful";
                    }
                }
                else
                {
                    logger.Warn("AgentLogout() : Interaction Server Protocol is Null..");
                }
            }
            catch (Exception commonException)
            {
                logger.Error("Error occurred while Agent Logout request " + commonException.ToString());
                output.MessageCode = "2001";
                output.Message     = commonException.Message;
            }
            return(output);
        }
예제 #4
0
        public static IMessage RequestUpdateInteraction(InteractionContent interactionContent, InteractionAttributes interactionAttributes, BaseEntityAttributes baseEntityAttributes)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            IMessage iMessage = null;
            RequestUpdateInteraction updateInteraction = new RequestUpdateInteraction();

            if (interactionContent != null)
            {
                updateInteraction.InteractionContent = interactionContent;
            }
            if (interactionAttributes != null)
            {
                updateInteraction.InteractionAttributes = interactionAttributes;
            }
            if (baseEntityAttributes != null)
            {
                updateInteraction.EntityAttributes = baseEntityAttributes;
            }
            if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
            {
                logger.Info("------------RequestUpdateInteraction-------------");
                logger.Info("Interaction Attributes : " + (updateInteraction.InteractionAttributes != null ? "null" : updateInteraction.InteractionAttributes.ToString()));
                logger.Info("Entity Attributes : " + (updateInteraction.InteractionAttributes != null ? "null" : updateInteraction.EntityAttributes.ToString()));
                logger.Info("---------------------------------------------------");
                iMessage          = Settings.UCSProtocol.Request(updateInteraction);
                updateInteraction = null;
                logger.Trace("Response : " + (iMessage != null ? "null" : iMessage.ToString()));
            }
            else
            {
                logger.Warn("Error occurred as : Universal Contact Server protocol is Null or Closed");
            }
            return(iMessage);
        }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Notifier"/> class.
 /// </summary>
 ///
 public Notifier()
 {
     logger.Info("chat notify constructor");
     InitializeComponent();
     logger.Info("chat notify constructor -- Initialize Component");
     MessageIconImageSource.Source = new BitmapImage(new Uri("pack://application:,,,/Pointel.Interactions.Chat;component/Images/Chat.png"));
     EventManager.RegisterClassHandler(typeof(UIElement), AccessKeyManager.AccessKeyPressedEvent, new AccessKeyPressedEventHandler(OnAccessKeyPressed));
     if (!_chatDataContext.isEnableChatReject && !_chatDataContext.isEnableChatAccept)
     {
         _chatDataContext.isEnableChatAccept = true;
         _chatDataContext.isEnableChatReject = false;
     }
     if (!_chatDataContext.isEnableChatReject && _chatDataContext.isEnableChatAccept)
     {
         btnLeft.Visibility = System.Windows.Visibility.Hidden;
         btnRight.Content   = "_Accept";
         btnRight.Style     = (Style)FindResource("CallButton");
     }
     if (!_chatDataContext.isEnableChatAccept && _chatDataContext.isEnableChatReject)
     {
         btnLeft.Visibility = System.Windows.Visibility.Hidden;
         btnRight.Content   = "_Reject";
         btnRight.Style     = (Style)FindResource("RejectButton");
     }
     if (_chatDataContext.isEnableChatReject && _chatDataContext.isEnableChatAccept)
     {
         btnLeft.Visibility = System.Windows.Visibility.Visible;
         btnLeft.Content    = "_Accept";
         btnRight.Content   = "_Reject";
         btnRight.Style     = (Style)FindResource("RejectButton");
     }
     mediaPlayer             = new System.Windows.Media.MediaPlayer();
     mediaPlayer.MediaEnded += mediaPlayer_MediaEnded;
 }
예제 #6
0
        public void InitiateTransfer(string number, KeyValueCollection reasonCode)
        {
            //Input Validation
            CheckException.CheckDialValues(number);

            logger.Info("InitiateTransfer(" + number + ")");

            if ((Settings.GetInstance().CallControl == "both" ? Settings.GetInstance().ActiveDN : (Settings.GetInstance().CallControl == "acd" ?
                                                                                                   Settings.GetInstance().ACDPosition : Settings.GetInstance().ExtensionDN)) != number)
            {
                HoldingFlagStatus(PhoneFunctions.InitiateTransfer);
                logger.Debug("Set HoldingFlagStatus(PhoneFunctions.InitiateTransfer)");
            }

            RequestAgentTransfer.InitiateTransfer(number, reasonCode);

            ////TERR_INV_CALD_DN
            //OutputValues errorOutput = new OutputValues();
            //errorOutput.MessageCode = "71";
            //errorOutput.Message = "TERR_INV_CALD_DN" + " : " + "Invalid Called DN.";
            //if (Settings.GetInstance().IsEnableInitiateTransfer)
            //    Settings.GetInstance().IsEnableInitiateTransfer = false;
            //if (Settings.GetInstance().IsEnableInitiateConference)
            //    Settings.GetInstance().IsEnableInitiateConference = false;
            //VoiceManager.messageToClient.NotifyErrorMessage(errorOutput);
        }
예제 #7
0
        /// <summary>
        /// Leaves the interaction from conference.
        /// </summary>
        /// <param name="interactionID">The interaction identifier.</param>
        /// <param name="proxyID">The proxy identifier.</param>
        /// <param name="agentID">The agent identifier.</param>
        /// <param name="_chatClosingProtocol">The _chat closing protocol.</param>
        /// <returns></returns>
        public static Pointel.Interactions.Chat.Core.General.OutputValues LeaveInteractionFromConference(string interactionID, int proxyID, string agentID)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            Pointel.Interactions.Chat.Core.General.OutputValues output = Pointel.Interactions.Chat.Core.General.OutputValues.GetInstance();
            try
            {
                Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Requests.InteractionManagement.RequestLeaveInteraction requestLeaveInteraction = Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Requests.InteractionManagement.RequestLeaveInteraction.Create();
                requestLeaveInteraction.InteractionId = interactionID;
                requestLeaveInteraction.ProxyClientId = proxyID;
                requestLeaveInteraction.Reason        = null;
                //ReasonInfo reasonInfo = ReasonInfo.Create();
                //reasonInfo.ReasonDescription = agentID.ToString() + " Leaving from the Conference";
                //requestLeaveInteraction.Reason = reasonInfo;
                requestLeaveInteraction.Extension = null;
                if (Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol != null && Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol.State == Genesyslab.Platform.Commons.Protocols.ChannelState.Opened)
                {
                    Genesyslab.Platform.Commons.Protocols.IMessage response = Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol.Request(requestLeaveInteraction);
                    if (response != null)
                    {
                        switch (response.Id)
                        {
                        case Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Events.EventAck.MessageId:
                            logger.Info("------------LeaveInteractionFromConference-------------");
                            logger.Info("InteractionId      :" + interactionID);
                            logger.Info("ProxyClientId      :" + proxyID);
                            logger.Info("AgentId            :" + agentID);
                            logger.Info("-------------------------------------------------------");
                            logger.Trace(response.ToString());
                            output.MessageCode = "200";
                            output.Message     = "Leave Interaction From Conference Successful";
                            break;

                        case Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Events.EventError.MessageId:
                            logger.Trace(response.ToString());
                            output.MessageCode = "2001";
                            output.Message     = "Don't Leave Interaction From Conference Successful";
                            break;
                        }
                    }
                    else
                    {
                        output.MessageCode = "2001";
                        output.Message     = "Don't Leave Interaction From Conference Successful";
                    }
                }
                else
                {
                    logger.Warn("LeaveInteractionFromConference() : Interaction Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Leave Interaction From Conference request " + generalException.ToString());
                output.MessageCode = "2001";
                output.Message     = generalException.Message;
            }
            return(output);
        }
        /// <summary>
        /// Gets the contact list.
        /// </summary>
        /// <param name="tenantId">The tenant identifier.</param>
        /// <returns></returns>
        public static OutputValues GetContactList(int tenantId, List <string> attributeNames, int startIndex)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                RequestGetContacts requestGetContacts = new RequestGetContacts();
                requestGetContacts.IndexOfFirst = startIndex;
                StringList stringList = new StringList();
                for (int count = 0; count < attributeNames.Count; count++)
                {
                    stringList.Add(attributeNames[count].ToString());
                }
                //stringList.Add("EmailAddress");
                //stringList.Add("FirstName");
                //stringList.Add("LastName");
                requestGetContacts.AttributeList = stringList;
                requestGetContacts.TenantId      = tenantId;
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("------------GetContacts-------------");
                    logger.Info("TenantId    :" + tenantId);
                    logger.Info("AttributeList: " + stringList);
                    logger.Info("-------------------------------------");
                    IMessage message = Settings.UCSProtocol.Request(requestGetContacts);
                    if (message != null)
                    {
                        logger.Trace(message.ToString());
                        output.IContactMessage = message;
                        output.MessageCode     = "200";
                        output.Message         = "Get Contacts Successful";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Don't Get Contacts Successful";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("GetContactList() : Universal Contact Server Protocol is Null");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error Occurred while Get Contacts request" + generalException.ToString());
                output.IContactMessage = null;
                output.MessageCode     = "2001";
                output.Message         = generalException.Message;
            }
            return(output);
        }
예제 #9
0
        public static Pointel.Interactions.Chat.Core.General.OutputValues ResumeInteraction(int proxyID, string sessionID, KeyValueCollection extensions, ReasonInfo reason)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            Pointel.Interactions.Chat.Core.General.OutputValues output = Pointel.Interactions.Chat.Core.General.OutputValues.GetInstance();
            try
            {
                Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Requests.InteractionManagement.RequestResume requestResume = Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Requests.InteractionManagement.RequestResume.Create();
                requestResume.InteractionId = sessionID;
                requestResume.ProxyClientId = proxyID;
                requestResume.Extension     = extensions;
                requestResume.Reason        = reason;
                if (Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol != null && Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol.State == Genesyslab.Platform.Commons.Protocols.ChannelState.Opened)
                {
                    Genesyslab.Platform.Commons.Protocols.IMessage message = Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol.Request(requestResume);
                    if (message != null)
                    {
                        switch (message.Id)
                        {
                        case Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Events.EventAck.MessageId:
                            logger.Info("------------RequestResume-------------");
                            logger.Info("SessionID  :" + sessionID);
                            logger.Info("ProxyID    :" + proxyID);
                            logger.Info("--------------------------------------");
                            logger.Info(requestResume.ToString());
                            output.MessageCode = "200";
                            output.Message     = "Interaction Resume Successful.";
                            break;

                        case Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Events.EventError.MessageId:
                            Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Events.EventError eventError = (Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Events.EventError)message;
                            string LoginErrorCode        = Convert.ToString(eventError.ErrorCode);
                            string LoginErrorDescription = Convert.ToString(eventError.ErrorDescription);
                            logger.Trace(eventError.ToString());
                            output.MessageCode = "2001";
                            output.Message     = "ResumeInteraction() : " + LoginErrorDescription;
                            break;
                        }
                    }
                    else
                    {
                        output.MessageCode = "2001";
                        output.Message     = "Chat Media Resume Interaction UnSuccessful";
                    }
                }
                else
                {
                    logger.Warn("ResumeInteraction() : IXN Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Resume Interaction request " + generalException.ToString());
                output.MessageCode = "2001";
                output.Message     = generalException.Message;
            }
            return(output);
        }
예제 #10
0
 /// <summary>
 /// Changes the properties.
 /// </summary>
 /// <param name="interactionId">The interaction identifier.</param>
 /// <param name="proxyId">The proxy identifier.</param>
 /// <param name="dispositionNotes">The disposition notes.</param>
 /// <returns></returns>
 public static Pointel.Interactions.Chat.Core.General.OutputValues ChangeProperties(string interactionId, int proxyId, Genesyslab.Platform.Commons.Collections.KeyValueCollection addedProperties, Genesyslab.Platform.Commons.Collections.KeyValueCollection changedProperties)
 {
     Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
     Pointel.Interactions.Chat.Core.General.OutputValues output = Pointel.Interactions.Chat.Core.General.OutputValues.GetInstance();
     Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Requests.InteractionManagement.RequestChangeProperties requestChangeProperties = Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Requests.InteractionManagement.RequestChangeProperties.Create();
     try
     {
         requestChangeProperties.InteractionId = interactionId;
         requestChangeProperties.ProxyClientId = proxyId;
         if (changedProperties != null)
         {
             requestChangeProperties.ChangedProperties = changedProperties;
         }
         if (addedProperties != null)
         {
             requestChangeProperties.AddedProperties = addedProperties;
         }
         if (Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol != null && Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol.State == Genesyslab.Platform.Commons.Protocols.ChannelState.Opened)
         {
             Genesyslab.Platform.Commons.Protocols.IMessage response = Pointel.Interactions.Chat.Core.Util.Settings.IxnServerProtocol.Request(requestChangeProperties);
             if (response.Id == Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Events.EventPropertiesChanged.MessageId || response.Id == Genesyslab.Platform.OpenMedia.Protocols.InteractionServer.Events.EventAck.MessageId)
             {
                 logger.Info("------------RequestChangeProperties-------------");
                 logger.Info("InteractionId  :" + interactionId);
                 logger.Info("ProxyClientId    :" + proxyId);
                 logger.Info(" RequestChangeProperties : response :" + response.ToString());
                 logger.Info("-------------------------------------------------");
                 logger.Trace(response.ToString());
                 output.MessageCode = "200";
                 output.Message     = "Change Properties Successful";
             }
             else
             {
                 output.MessageCode = "2001";
                 output.Message     = "Don't Change Properties Successful";
             }
         }
         else
         {
             logger.Warn("ChangeProperties() : Interaction Server Protocol is Null..");
         }
     }
     catch (Genesyslab.Platform.Commons.Protocols.ProtocolException protocolException)
     {
         logger.Error("Error occurred while change properties request " + protocolException.ToString());
         output.MessageCode = "2001";
         output.Message     = protocolException.Message;
     }
     catch (Exception generalException)
     {
         logger.Error("Error occurred while change properties request " + generalException.ToString());
         output.MessageCode = "2001";
         output.Message     = generalException.Message;
     }
     return(output);
 }
        /// <summary>
        /// Adds the agent favorite response.
        /// </summary>
        /// <param name="stdResponse">The standard response.</param>
        /// <param name="agentId">The agent identifier.</param>
        /// <returns></returns>
        public static OutputValues AddAgentFavoriteResponse(string stdResponse, string agentId)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID"); 
            OutputValues output = OutputValues.GetInstance();
            try
            {
                RequestAddAgentStdRespFavorite requestAddAgentStdRespFavorite = new RequestAddAgentStdRespFavorite();
                requestAddAgentStdRespFavorite.StandardResponse = stdResponse;
                // requestAddFavouriteResponse.Name = stdName;
                // string strAgentID = "1001";
                int? agentid = int.Parse(agentId.ToString());
                requestAddAgentStdRespFavorite.AgentId = agentid;
                // requestAddFavouriteResponse.Name = stdResponse;
                // requestAddFavouriteResponse.Name = name;
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("------------AddAgentFavoriteResponse-------------");
                    logger.Info("StandardResponse  :" + stdResponse);
                    logger.Info("AgentId    :" + agentId);
                    logger.Info("-------------------------------------------------");
                    IMessage response = Settings.UCSProtocol.Request(requestAddAgentStdRespFavorite);
                    if (response != null)
                    {
                        logger.Trace(response.ToString());
                        output.IContactMessage = response;
                        output.MessageCode = "200";
                        output.Message = "Add Agent Standard Response Favorite Successful";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode = "2001";
                        output.Message = "Don't Add Agent Standard Response Favorite.";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode = "2001";
                    output.Message = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("AddAgentFavoriteResponse() : Universal Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Add Agent Standard Response Favorite request " + generalException.ToString());
                output.IContactMessage = null;
                output.MessageCode = "2001";
                output.Message = generalException.Message;
            }
            return output;

        }
 void MultiClienTCPPort_ClientDisconnectedEvent(string host, int port)
 {
     try
     {
         logger.Info("Client disconnected from Host:" + host + ",port:" + port);
     }
     catch (Exception ex)
     {
         logger.Error("Error occurred as " + ex.Message);
     }
     //throw new NotImplementedException();
 }
        /// <summary>
        /// Gets the interactions count.
        /// </summary>
        /// <param name="mediaType">Type of the media.</param>
        /// <returns></returns>
        public static OutputValues GetInteractionsCount(string mediaType)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                RequestGetInteractionsWithStatus requestGetInteractionsWithStatus = new RequestGetInteractionsWithStatus();
                requestGetInteractionsWithStatus.MediaType          = mediaType;
                requestGetInteractionsWithStatus.InteractionType    = "Inbound";
                requestGetInteractionsWithStatus.InteractionSubtype = "InboundNew";
                requestGetInteractionsWithStatus.Status             = new Genesyslab.Platform.Contacts.Protocols.ContactServer.NullableStatuses(Statuses.InProcess);
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("--------GetInteractionsCount---------");
                    logger.Info("MediaType    :" + mediaType);
                    logger.Info("-------------------------------------");
                    IMessage response = Settings.UCSProtocol.Request(requestGetInteractionsWithStatus);
                    if (response != null)
                    {
                        logger.Trace(response.ToString());
                        output.IContactMessage = response;
                        output.MessageCode     = "200";
                        output.Message         = "Get Interaction Count Successful";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Don't Get Interaction Count Successful";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("GetInteractionsCount() : Universal Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error Occurred while Get Interaction Count request" + generalException.ToString());
                output.IContactMessage = null;
                output.MessageCode     = "2001";
                output.Message         = generalException.Message;
            }
            return(output);
        }
예제 #14
0
        public OutputValues InitializeChatMedia(string userName, ConfService configObject, string applicationName)
        {
            OutputValues      output = OutputValues.GetInstance();
            ReadConfigObjects read   = new ReadConfigObjects();

            //Print DLL Info
            try
            {
                Assembly assemblyVersion = Assembly.LoadFrom(Environment.CurrentDirectory + @"\Pointel.Interactions.Chat.Core.dll");
                if (assemblyVersion != null)
                {
                    logger.Info("*********************************************");
                    logger.Info(assemblyVersion.GetName().Name + " : " + assemblyVersion.GetName().Version);
                    logger.Info("*********************************************");
                }
            }
            catch (Exception versionException)
            {
                logger.Error("Error occurred while getting the version of the chat core library " + versionException.ToString());
                output.MessageCode = "2001";
                output.Message     = "Error occurred while Initialize Chat Media : " + versionException.ToString();
            }
            try
            {
                ChatConnectionSettings.GetInstance().ComObject = configObject;
                read.ReadApplicationObject(applicationName);
                Settings.PersonID = Settings.Person.EmployeeID.ToString();
                if (Settings.NickNameFormat != null || Settings.NickNameFormat != string.Empty)
                {
                    GetNickName(Settings.NickNameFormat);
                }
                else
                {
                    if (Settings.Person != null)
                    {
                        Settings.NickName = Settings.Person.UserName;
                    }
                }
                output.MessageCode = "200";
                output.Message     = "Initialized Chat Media Successful.";
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Initialize Chat Media " + generalException.ToString());
                output.MessageCode = "2001";
                output.Message     = "Error occurred while Initialize Chat Media : " + generalException.ToString();
            }
            return(output);
        }
예제 #15
0
 public SpellChecker()
 {
     _logger.Info("SpellChecker() Constructor Started..");
     try
     {
         Words           = new List <string>();
         MisspelledWords = new ObservableCollection <string>();
         IgnoredWords    = new List <string>();
     }
     catch (Exception generalException)
     {
         _logger.Error("Spell Checker Open problem : " + generalException.ToString());
     }
     _logger.Info("SpellChecker() Constructor Ended..");
 }
        public static OutputValues IdentifyContact(string mediaType, int tenantId, KeyValueCollection userData)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                RequestIdentifyContact requestIdentifyContact = RequestIdentifyContact.Create();
                requestIdentifyContact.TenantId      = tenantId;
                requestIdentifyContact.MediaType     = mediaType;
                requestIdentifyContact.CreateContact = true;
                requestIdentifyContact.OtherFields   = userData;
                logger.Info("------------RequestIdentifyContact-------------");
                logger.Info(requestIdentifyContact.ToString());
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    IMessage message = Settings.UCSProtocol.Request(requestIdentifyContact);
                    if (message != null)
                    {
                        logger.Trace(message.ToString());
                        output.IContactMessage = message;
                        output.MessageCode     = "200";
                        output.Message         = "Identify Contact Successfully";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Don't Identify Contact Successfully";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("RequestToIdentifyContact() : Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Request To Identify Contact " + generalException.ToString());
                output.IContactMessage = null;
                output.MessageCode     = "2001";
                output.Message         = generalException.Message;
            }
            return(output);
        }
        /// <summary>
        /// Gets the content of the response.
        /// </summary>
        /// <param name="tenantID">The tenant unique identifier.</param>
        /// <returns></returns>
        public static OutputValues GetResponseContent(int tenantID)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                logger.Debug("Getting the AllAttributes from the UCS server");
                RequestGetAllCategories getAllCategories = new RequestGetAllCategories();
                getAllCategories.TenantId = tenantID;
                getAllCategories.Language = "English";
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("--------GetResponseContent---------");
                    logger.Info("TenantId    :" + tenantID);
                    logger.Info("-----------------------------------");
                    IMessage response = Settings.UCSProtocol.Request(getAllCategories);
                    if (response != null)
                    {
                        logger.Trace(response.ToString());
                        output.IContactMessage = response;
                        output.MessageCode     = "200";
                        output.Message         = "Get  All Response Content Successful";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Don't Get All Response Content Successful";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("GetResponseContent() : Universal Contact Server protocol is Null..");
                }
            }
            catch (Exception ex)
            {
                output.IContactMessage = null;
                output.Message         = "Error occurred while get all standard response ";
                output.MessageCode     = "2001";
                logger.Error("GetResponseContent()" + ex.ToString());
            }
            return(output);
        }
        /// <summary>
        /// Removes the attach document.
        /// </summary>
        /// <param name="interactionId">The interaction identifier.</param>
        /// <param name="documentId">The document identifier.</param>
        /// <returns></returns>
        public static OutputValues RemoveAttachDocument(string interactionId, string documentId)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                RequestRemoveDocument requestRemoveDocument = new RequestRemoveDocument();
                requestRemoveDocument.InteractionId = interactionId;
                requestRemoveDocument.DocumentId    = documentId;
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("--------RemoveAttachDocument------------");
                    logger.Info("InteractionId    :" + interactionId);
                    logger.Info("DocumentId    :" + documentId);
                    logger.Info("----------------------------------------");
                    IMessage response = Settings.UCSProtocol.Request(requestRemoveDocument);
                    if (response != null)
                    {
                        logger.Trace(response.ToString());
                        output.IContactMessage = response;
                        output.MessageCode     = "200";
                        output.Message         = "Remove Attach Document Successful";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Don't Remove Attach Document Successful";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("RemoveAttachDocument() : Universal Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error Occurred while Remove Attach Document request" + generalException.ToString());
                output.IContactMessage = null;
                output.MessageCode     = "2001";
                output.Message         = generalException.Message;
            }
            return(output);
        }
        public static OutputValues RequestInsertContact(int tenantId, AttributesList attribute)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                RequestInsert reqInsertContact = new RequestInsert();
                reqInsertContact.TenantId   = tenantId;
                reqInsertContact.Attributes = attribute;
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("------------RequestInsertContact-------------");
                    logger.Info("Tenant ID  : " + tenantId);
                    logger.Info("---------------------------------------------------");
                    IMessage message = Settings.UCSProtocol.Request(reqInsertContact);
                    if (message != null)
                    {
                        logger.Trace(message.ToString());
                        output.IContactMessage = message;
                        output.MessageCode     = "200";
                        output.Message         = "Contact Inserted Successfully";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Can't Insert Contact Successfully";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("RequestDeleteContact() : Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Insert Contact " + generalException.ToString());
                output.MessageCode = "2001";
                output.Message     = generalException.Message;
            }

            return(output);
        }
예제 #20
0
        /// <summary>
        /// Handles the Click event of the btnOk control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                bool   sendRequest = true;
                string error       = "";
                if (txtNewPass.Password != txtConfPass.Password)
                {
                    sendRequest = false;
                    error       = "The confirmation password that you entered does not match the password that you entered."
                                  + "Please ensure that the password and confirmation match exactly";
                }

                if (sendRequest)
                {
                    var changepassword = (ProtocolManagers.Instance().ProtocolManager[ServerType.Configserver.ToString()] as ConfServerProtocol).Request(
                        RequestChangePassword.Create(_dataContext.UserName, txtOldPass.Password, txtConfPass.Password));
                    if (changepassword is EventPasswordChanged)
                    {
                        _logger.Info((changepassword as EventPasswordChanged).ToString());
                        this.DialogResult = true;
                        this.Close();
                    }
                    else if (changepassword is Genesyslab.Platform.Configuration.Protocols.ConfServer.Events.EventError)
                    {
                        error = (changepassword as Genesyslab.Platform.Configuration.Protocols.ConfServer.Events.EventError).Description;
                        _dataContext.CSErrorMessage   = error;
                        _dataContext.CSErrorRowHeight = GridLength.Auto;
                        StartTimerForError();
                        _logger.Info(error);
                    }
                }
                else
                {
                    _dataContext.CSErrorMessage   = error;
                    _dataContext.CSErrorRowHeight = GridLength.Auto;
                    StartTimerForError();
                }
            }
            catch (ChangePasswordException chaPEx)
            {
                _dataContext.CSErrorMessage   = chaPEx.Message;
                _dataContext.CSErrorRowHeight = GridLength.Auto;
                StartTimerForError();
                _logger.Error(chaPEx.Message);
            }
        }
 /// <summary>
 /// Joins the consult chat session.
 /// </summary>
 /// <param name="sessionID">The session unique identifier.</param>
 /// <param name="subject">The subject.</param>
 /// <param name="message">The message.</param>
 /// <param name="userData">The user data.</param>
 /// <returns></returns>
 public static Pointel.Interactions.Chat.Core.General.OutputValues JoinConsultChatSession(string sessionID, string subject, string message, Genesyslab.Platform.Commons.Collections.KeyValueCollection userData)
 {
     Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
     Pointel.Interactions.Chat.Core.General.OutputValues output = Pointel.Interactions.Chat.Core.General.OutputValues.GetInstance();
     try
     {
         Genesyslab.Platform.WebMedia.Protocols.BasicChat.Requests.RequestJoin requestJoinChat = Genesyslab.Platform.WebMedia.Protocols.BasicChat.Requests.RequestJoin.Create();
         Genesyslab.Platform.WebMedia.Protocols.BasicChat.MessageText          newMessageText  = Genesyslab.Platform.WebMedia.Protocols.BasicChat.MessageText.Create();
         newMessageText.Text         = message;
         requestJoinChat.MessageText = newMessageText;
         requestJoinChat.SessionId   = sessionID;
         requestJoinChat.UserData    = userData;
         requestJoinChat.Visibility  = Genesyslab.Platform.WebMedia.Protocols.BasicChat.Visibility.Int;
         requestJoinChat.Subject     = subject;
         if (Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol != null && Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol.State == Genesyslab.Platform.Commons.Protocols.ChannelState.Opened)
         {
             Genesyslab.Platform.Commons.Protocols.IMessage iMessage = Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol.Request(requestJoinChat);
             if (iMessage != null)
             {
                 logger.Info("------------JoinConsultChatSession-------------");
                 logger.Info("SessionID  :" + sessionID);
                 logger.Info("subject    :" + subject);
                 logger.Info("MessageText:" + message);
                 logger.Info("----------------------------------------");
                 logger.Trace(iMessage.ToString());
                 output.RequestJoinIMessage = iMessage;
                 output.MessageCode         = "200";
                 output.Message             = "Join Consult Chat Session Successful";
             }
             else
             {
                 logger.Warn("JoinConsultChatSession() : IMessage is Null..");
             }
         }
         else
         {
             logger.Warn("JoinConsultChatSession() : Interaction Server protocol is Null..");
         }
     }
     catch (Exception generalException)
     {
         logger.Error("Error occurred while Join the consult chat session request " + generalException.ToString());
         output.MessageCode = "2001";
         output.Message     = generalException.Message;
     }
     return(output);
 }
예제 #22
0
        /// <summary>
        /// Gets the standard response.
        /// </summary>
        /// <param name="standardresponseId">The standard response identifier.</param>
        /// <returns></returns>
        public static OutputValues GetStandardResponse(string standardresponseId)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                RequestGetStandardResponse requestGetStandardResponse = new RequestGetStandardResponse();
                requestGetStandardResponse.StandardResponseId = standardresponseId;
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("--------GetStandardResponse------------");
                    logger.Info("StandardResponseId    :" + standardresponseId);
                    logger.Info("---------------------------------------");
                    IMessage message = Settings.UCSProtocol.Request(requestGetStandardResponse);
                    if (message != null)
                    {
                        logger.Trace(message.ToString());
                        output.IContactMessage = message;
                        output.MessageCode     = "200";
                        output.Message         = "Get Standard Response Successful";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Don't Get Standard Response Successful";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("GetStandardResponse() : Universal Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error Occurred while Get Standard Response request" + generalException.ToString());
                output.IContactMessage = null;
                output.MessageCode     = "2001";
                output.Message         = generalException.Message;
            }
            return(output);
        }
예제 #23
0
        /// <summary>
        /// Deletes the interaction from ucs.
        /// </summary>
        /// <param name="interactionID">The interaction unique identifier.</param>
        /// <returns></returns>
        public static OutputValues DeleteInteractionFromUCS(string interactionID)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                RequestDeleteInteraction requestDeleteInteraction = new RequestDeleteInteraction();
                requestDeleteInteraction.InteractionId = interactionID;
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("--------DeleteInteractionFromUCS------------");
                    logger.Info("InteractionId    :" + interactionID);
                    logger.Info("--------------------------------------------");
                    IMessage response = Settings.UCSProtocol.Request(requestDeleteInteraction);
                    if (response != null)
                    {
                        logger.Trace(response.ToString());
                        output.IContactMessage = response;
                        output.MessageCode     = "200";
                        output.Message         = "Delete Interaction from UCS Successful";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Delete Interaction from UCS UnSuccessful";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("DeleteInteractionFromUCS() : Universal Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error Occurred while Delete Interaction from UCS" + generalException.ToString());
                output.IContactMessage = null;
                output.MessageCode     = "2001";
                output.Message         = generalException.Message;
            }
            return(output);
        }
 /// <summary>
 /// Starts the port server to listen income and out going port
 /// </summary>
 /// <param name="incomingport">The incomingport number.</param>
 /// <param name="outGoingPort">The out going port number.</param>
 public void Start(int incomingport, int outGoingPort)
 {
     try
     {
         logger.Info("------------MultiClienTCPPort-------");
         logger.Info("Incoming port: " + incomingport);
         logger.Info("Outgoing port: " + outGoingPort);
         IncomingPort  = incomingport;
         OutcomingPort = outGoingPort;
         Thread incomingListener = new Thread(new ParameterizedThreadStart(StartServerListerner));
         incomingListener.Start(IncomingPort);
         Thread outGoingListener = new Thread(new ParameterizedThreadStart(StartServerListerner));
         outGoingListener.Start(OutcomingPort);
     }
     catch (Exception ex)
     {
         logger.Error("Start() : " + ex.Message);
     }
 }
        /// <summary>
        /// Handles the Click event of the MenuItem control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void MenuItem_Click(object sender, RoutedEventArgs e)
        {
            var        menuitem = sender as System.Windows.Controls.MenuItem;
            FileStream fs       = null;
            IMessage   response;

            try
            {
                switch (menuitem.Header.ToString().ToLower())
                {
                case "open":
                    var docId = ((menuitem.Parent as System.Windows.Controls.ContextMenu).PlacementTarget as System.Windows.Controls.Button).Tag.ToString();
                    response = ((IContactPlugin)Pointel.Interactions.IPlugins.PluginCollection.GetInstance().PluginCollections[Plugins.Contact]).GetDocument(docId);
                    if (response != null && response.Id == EventGetDocument.MessageId)
                    {
                        eventGetDocument = (EventGetDocument)response;
                        string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).ToString() + @"\Pointel\temp\" + docId.ToString() + @"\"; logger.Info("Opening the file : " + eventGetDocument.TheName);
                        if (string.IsNullOrEmpty(Path.GetDirectoryName(eventGetDocument.TheName)))
                        {
                            eventGetDocument.TheName = path + @"\" + eventGetDocument.TheName;
                        }
                        logger.Info("Creating the file : " + eventGetDocument.TheName);
                        if (!Directory.Exists(Path.GetDirectoryName(eventGetDocument.TheName)))
                        {
                            Directory.CreateDirectory(Path.GetDirectoryName(eventGetDocument.TheName));
                        }
                        using (fs = new FileStream(eventGetDocument.TheName, FileMode.Create)) { }
                        File.WriteAllBytes(eventGetDocument.TheName, eventGetDocument.Content);
                        Process.Start(eventGetDocument.TheName);
                    }
                    break;

                case "save":
                    response = ((IContactPlugin)Pointel.Interactions.IPlugins.PluginCollection.GetInstance().PluginCollections[Plugins.Contact]).GetDocument(((menuitem.Parent as System.Windows.Controls.ContextMenu).PlacementTarget as System.Windows.Controls.Button).Tag.ToString());
                    if (response != null && response.Id == EventGetDocument.MessageId)
                    {
                        eventGetDocument = (EventGetDocument)response;
                        SaveFileDialog saveDialog = new SaveFileDialog();
                        saveDialog.FileName = eventGetDocument.TheName;
                        string _fileExtension = System.IO.Path.GetExtension(eventGetDocument.TheName);
                        saveDialog.FileOk      += new CancelEventHandler(saveFileDialog_FileOk);
                        saveDialog.DefaultExt   = "." + _fileExtension;
                        saveDialog.Filter       = "All files (*.*) | *.*";
                        saveDialog.AddExtension = true;
                        saveDialog.ShowDialog();
                    }
                    break;
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while " + menuitem.Header.ToString().ToLower() + " the attachment '" + menuitem.Header.ToString().Trim() + "'  as :" + generalException.ToString());
            }
        }
 public void InitializeWorkBin(string placeId, int proxyId, IPluginCallBack listener)
 {
     try
     {
         logger.Info("**********************************************************************************************************************");
         logger.Info("Pointel.Interaction.Workbin :" + Assembly.GetExecutingAssembly().GetName().Version);
         logger.Info("***********************************************************************************************************************");
         logger.Info("Retrieving Values from Application Email in AID Start");
         WorkbinUtility.Instance().PlaceID              = placeId;
         WorkbinUtility.Instance().IxnProxyID           = proxyId;
         WorkbinUtility.Instance().configListener       = listener;
         WorkbinUtility.Instance().messageToClientEmail = listener;
         Pointel.Interaction.Workbin.ApplicationDetails.ApplicationDetails.LoadWorkbin();
         InteractionService.InteractionServerNotifier += InteractionService_InteractionServerNotifier;
     }
     catch (Exception exception)
     {
         logger.Error("StartEmailService" + exception.ToString());
     }
 }
예제 #27
0
        public bool StorerDispositionDetail(DispositionDetail objDispositionDetail, out string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                string _query = GenerateInserQuery(objDispositionDetail);
                _logger.Info("Query: " + _query);
                Database db = new Database();
                db.Provider = "System.Data.OracleClient";
                _logger.Info("Forming connection string for disposition db.");
                if (ConfigContainer.Instance().AllKeys.Contains("disposition.db.servicename"))
                {
                    db.ConnectionString = "Data Source = (Description=(Address_list=(Address=(Protocol=TCP)(HOST=" + GetValue("disposition.db.host") + ")(PORT=" + GetValue("disposition.db.port") + ")))" +
                                          "(CONNECT_DATA=(SERVICE_NAME=" + GetValue("disposition.db.servicename") + ")));User Id =" + GetValue("disposition.db.userid") + ";Password="******"disposition.db.Password");
                }
                else if (ConfigContainer.Instance().AllKeys.Contains("disposition.db.sid"))
                {
                    db.ConnectionString = "Data Source = (Description=(Address_list=(Address=(Protocol=TCP)(HOST=" + GetValue("disposition.db.host") + ")(PORT=" + GetValue("disposition.db.port") + ")))" +
                                          "(CONNECT_DATA=(SID=" + GetValue("disposition.db.sid") + ")));User Id =" + GetValue("disposition.db.userid") + ";Password="******"disposition.db.Password");
                }

                _logger.Info("Disposition db connection string : " + db.ConnectionString);

                if (string.IsNullOrEmpty(db.ConnectionString))
                {
                    throw new Exception("The database connection string is not configured to disposition database.");
                }
                db.CreateConnection(true);
                db.ExecuteNonQuery(_query);
                db.CloseConnection();
                db           = null;
                ErrorMessage = "Success";
                return(true);
            }
            catch (System.Exception _generalException)
            {
                ErrorMessage = _generalException.Message;
                _logger.Error("Error Occurred as " + _generalException.Message);
            }
            return(false);
        }
 /// <summary>
 /// Releases the force party chat session.
 /// </summary>
 /// <param name="sessionID">The session identifier.</param>
 /// <param name="proxyID">The proxy identifier.</param>
 /// <param name="userId">The user identifier.</param>
 /// <param name="chatClosingProtocol">The chat closing protocol.</param>
 /// <returns></returns>
 public static Pointel.Interactions.Chat.Core.General.OutputValues ReleaseForcePartyChatSession(string sessionID, int proxyID, string userId, string messageText)
 {
     Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
     Pointel.Interactions.Chat.Core.General.OutputValues output = Pointel.Interactions.Chat.Core.General.OutputValues.GetInstance();
     try
     {
         Genesyslab.Platform.WebMedia.Protocols.BasicChat.MessageText newMessageText = Genesyslab.Platform.WebMedia.Protocols.BasicChat.MessageText.Create();
         newMessageText.Text = messageText;
         Genesyslab.Platform.WebMedia.Protocols.BasicChat.Requests.RequestReleaseParty requestReleaseParty = Genesyslab.Platform.WebMedia.Protocols.BasicChat.Requests.RequestReleaseParty.Create(sessionID, userId, Genesyslab.Platform.WebMedia.Protocols.BasicChat.Action.ForceClose,
                                                                                                                                                                                                  newMessageText);
         if (Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol != null && Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol.State == Genesyslab.Platform.Commons.Protocols.ChannelState.Opened)
         {
             Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol.Send(requestReleaseParty);
             logger.Info("------------ReleaseForcePartyChatSession-------------");
             logger.Info("SessionID  :" + sessionID);
             logger.Info("ProxyID    :" + proxyID);
             logger.Info("UserID    :" + userId);
             logger.Info("-----------------------------------------------------");
             logger.Info(requestReleaseParty.ToString());
             output.MessageCode = "200";
             output.Message     = "Release Force Party ChatSession Successful";
         }
         else
         {
             logger.Warn("ReleaseForcePartyChatSession() : Chat Server protocol is Null..");
         }
     }
     catch (Exception generalException)
     {
         logger.Error("Error occurred while Release Party Chat Session request " + generalException.ToString());
         output.MessageCode = "2001";
         output.Message     = generalException.Message;
     }
     return(output);
 }
예제 #29
0
파일: ComClass.cs 프로젝트: jkaran/ela_aid
        internal static bool AuthenticateUser(string userName, string password)
        {
            bool output = false;

            try
            {
                RequestAuthenticate requestAuthenticate = RequestAuthenticate.Create(userName, password);
                IMessage            response            = _configContainer.ConfServiceObject.Protocol.Request(requestAuthenticate);
                if (response != null)
                {
                    switch (response.Id)
                    {
                    case EventAuthenticated.MessageId:
                    {
                        output = true;
                        _logger.Info("User " + userName + "  Authenticated ");
                        break;
                    }

                    case EventError.MessageId:
                    {
                        EventError eventError = (EventError)response;
                        if (eventError.Description != null)
                        {
                            _logger.Warn("User " + userName + "  is not Authenticated   " + eventError.Description);
                        }
                        output = false;
                        _logger.Warn("User " + userName + "  is not Authenticated   ");
                        break;
                    }
                    }
                }
            }
            catch (Exception commonException)
            {
                _logger.Error("Error occurred while authenticating user " + userName + "  " + commonException.ToString());
            }
            return(output);
        }
 /// <summary>
 /// Sends the type start notification.
 /// </summary>
 /// <param name="sessionID">The session unique identifier.</param>
 /// <param name="noticeText">The notice text.</param>
 /// <param name="chatProtocol">The chat protocol.</param>
 /// <returns></returns>
 public static Pointel.Interactions.Chat.Core.General.OutputValues SendTypeStartNotification(string sessionID, string noticeText)
 {
     Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
     Pointel.Interactions.Chat.Core.General.OutputValues output = Pointel.Interactions.Chat.Core.General.OutputValues.GetInstance();
     try
     {
         Genesyslab.Platform.WebMedia.Protocols.BasicChat.Requests.RequestNotify requestNotify = Genesyslab.Platform.WebMedia.Protocols.BasicChat.Requests.RequestNotify.Create();
         requestNotify.SessionId = sessionID;
         Genesyslab.Platform.WebMedia.Protocols.BasicChat.NoticeText newNoticeText = Genesyslab.Platform.WebMedia.Protocols.BasicChat.NoticeText.Create();
         newNoticeText.NoticeType = Genesyslab.Platform.WebMedia.Protocols.NoticeType.TypingStarted;
         newNoticeText.Text       = noticeText;
         requestNotify.NoticeText = newNoticeText;
         requestNotify.Visibility = Genesyslab.Platform.WebMedia.Protocols.BasicChat.Visibility.All;
         if (Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol != null && Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol.State == Genesyslab.Platform.Commons.Protocols.ChannelState.Opened)
         {
             Pointel.Interactions.Chat.Core.Util.Settings.ChatProtocol.Send(requestNotify);
             logger.Info("------------Send Type Start Notification-------------");
             logger.Info("SessionID      :" + sessionID);
             logger.Info("NoticeText     :" + noticeText);
             logger.Info("----------------------------------------");
             logger.Info(requestNotify.ToString());
             output.MessageCode = "200";
             output.Message     = "Send Type Start Notification Successful";
         }
         else
         {
             logger.Warn("SendTypeStartNotification() : Basic Chat Protocol is Null..");
         }
     }
     catch (Exception generalException)
     {
         logger.Error("Error occurred while Send Type Start Notification request " + generalException.ToString());
         output.MessageCode = "2001";
         output.Message     = generalException.Message;
     }
     return(output);
 }