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); }
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); }
/// <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; }
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); }
/// <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); }
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); }
/// <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); }
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); }
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); }
/// <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); }
/// <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); }
/// <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()); } }
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); }
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); }