public UsersRepository(IOptionsMonitor <ChatOptions> chatOptions) { this.chatOptions = chatOptions.CurrentValue; this.chatOptions.Users ??= new List <User>(); chatOptions.OnChange(OnChatOptionsChange); }
public ApplicationFrame() { socialBot = new DefaultBot(Util.RandomID(8)); chatHandler = new BasicChatHandler(); chatOptions = new ChatOptions(); InitializeComponent(); }
protected BaseChatControllerTests() { Logger = A.Fake <ILogger <ChatController> >(); FakeSessionStateService = A.Fake <ISessionStateService <SessionDataModel> >(); ChatOptions = new ChatOptions { ChatUrl = new System.Uri("https://somewhere.com/webchat") }; FakeMapper = A.Fake <AutoMapper.IMapper>(); FakeConfigurationSetDocumentService = A.Fake <IDocumentService <ConfigurationSetModel> >(); }
private SFDCOpportunity() { this.logger = Log.GenInstance(); this.opportunityVoiceOptions = Settings.OpportunityVoiceOptions; this.opportunityChatOptions = Settings.OpportunityChatOptions; this.OpportunityLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("opportunity")) ? Settings.VoiceActivityLogCollection["opportunity"] : null; this.OpportunityChatLogConfig = (Settings.ChatActivityLogCollection.ContainsKey("opportunity")) ? Settings.ChatActivityLogCollection["opportunity"] : null; this.OpportunityRecordConfig = Settings.OpportunityNewRecordConfigs; this.sfdcObject = SFDCUtility.GetInstance(); }
private bool CanParticipantSendPrivateChatInChannel(ChatOptions options, Participant participant, PrivateChatChannel privateChatChannel) { if (!options.IsPrivateChatEnabled) { return(false); } return(privateChatChannel.Participants.Contains(participant.Id)); }
private SFDCLead() { this.logger = Log.GenInstance(); this.sfdcObject = SFDCUtility.GetInstance(); this.leadVoiceOptions = Settings.LeadVoiceOptions; this.leadChatOptions = Settings.LeadChatOptions; this.LeadLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("lead")) ? Settings.VoiceActivityLogCollection["lead"] : null; this.LeadChatLogConfig = (Settings.ChatActivityLogCollection.ContainsKey("lead")) ? Settings.ChatActivityLogCollection["lead"] : null; this.LeadRecordConfig = Settings.LeadNewRecordConfigs; }
/// <summary> /// Constructor /// </summary> private SFDCContact() { this.logger = Log.GenInstance(); this.sfdcObject = SFDCUtility.GetInstance(); this.contactVoiceOptions = Settings.ContactVoiceOptions; this.contactChatOptions = Settings.ContactChatOptions; this.ContactLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("contact")) ? Settings.VoiceActivityLogCollection["contact"] : null; ContactChatLogConfig = (Settings.ChatActivityLogCollection.ContainsKey("contact")) ? Settings.ChatActivityLogCollection["contact"] : null; ContactRecordConfig = Settings.ContactNewRecordConfigs; }
/// <summary> /// Constructor /// </summary> private SFDCAccount() { this.logger = Log.GenInstance(); this.accountVoiceOptions = Settings.AccountVoiceOptions; this.accountChatOptions = Settings.AccountChatOptions; AccountLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("account")) ? Settings.VoiceActivityLogCollection["account"] : null; AccountChatLogConfig = (Settings.ChatActivityLogCollection.ContainsKey("account")) ? Settings.ChatActivityLogCollection["account"] : null; AccountRecordConfig = Settings.AccountNewRecordConfigs; this.sfdcObject = SFDCUtility.GetInstance(); }
/// <summary> /// Constructor /// </summary> private SFDCCase() { this.logger = Log.GenInstance(); this.CaseVoiceOptions = Settings.CaseVoiceOptions; this.CaseChatOptions = Settings.CaseChatOptions; this.CaseLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("case")) ? Settings.VoiceActivityLogCollection["case"] : null; this.CaseChatLogOptions = (Settings.ChatActivityLogCollection.ContainsKey("case")) ? Settings.ChatActivityLogCollection["case"] : null; this.CaseRecordConfig = Settings.CaseNewRecordConfigs; this.sfdcObject = SFDCUtility.GetInstance(); }
public Chat() { Options = new ChatOptions(); Application.Current.DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(UnhandledException); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(AppDomainUnhandledException); MainOutputWindow = new ChannelWindow(this); MainOutputWindow.UserInput += ParseUserInput; MainOutputWindow.Closed += new EventHandler(channelWindow_Closed); MainOutputWindow.IsMainWindow = true; MainOutputWindow.Show(); LoadConfigurationFile(); bool proceed = true; if (Options.FirstChannel == null || Options.InitialNickname == null || Options.Server == null) { if (Options.FirstChannel == null) Options.FirstChannel = FIRST_CHANNEL; if (Options.FirstChannelKey == null) Options.FirstChannelKey = FIRST_CHANNEL_KEY; if (Options.InitialNickname == null) Options.InitialNickname = Environment.UserName; if (Options.Server == null) Options.Server = SERVER_ADDRESS; if (Options.ServerPort == 0) Options.ServerPort = SERVER_PORT; proceed = ShowConnectionWindow(MainOutputWindow); } if (proceed) { SaveConfigurationFile(); IRC.ActiveChannelSyncing = true; IRC.AutoNickHandling = true; IRC.SupportNonRfc = true; IRC.Encoding = System.Text.Encoding.UTF8; IRC.OnConnected += new EventHandler(IRC_OnConnected); IRC.OnQueryAction += new ActionEventHandler(IRC_OnQueryAction); IRC.OnQueryMessage += new IrcEventHandler(IRC_OnQueryMessage); IRC.OnQueryNotice += new IrcEventHandler(IRC_OnQueryNotice); IRC.OnNickChange += new NickChangeEventHandler(IRC_OnNickChange); IRC.OnJoin += new JoinEventHandler(IRC_OnJoin); #if DEBUG IRC.OnRawMessage += new IrcEventHandler(IRC_OnRawMessage); IRC.OnWriteLine += new WriteLineEventHandler(IRC_OnWriteLine); #endif MainOutputWindow.Channel = Options.FirstChannel; MainOutputWindow.ChannelKey = Options.FirstChannelKey; channelWindows.Add(MainOutputWindow); LoadScripts(); IRC.Connect(Options.Server, Options.ServerPort); } }
internal static bool GetCanCreateProfileActivity(SFDCCallType callType, ChatOptions chatOptions, bool IsNoRecord = false) { switch (callType) { case SFDCCallType.InboundChat: return(IsNoRecord ? chatOptions.InbCanCreateNorecordActivity : chatOptions.InbCanCreateMultimatchActivity); case SFDCCallType.ConsultChatReceived: return(IsNoRecord ? chatOptions.ConCanCreateNorecordActivity : chatOptions.ConCanCreateMultimatchActivity); } return(false); }
internal static string GetNoRecordFoundAction(SFDCCallType calltype, ChatOptions options) { switch (calltype) { case SFDCCallType.InboundChat: return(options.InbNoMatchRecordAction); case SFDCCallType.ConsultChatReceived: return(options.ConNoMatchRecordAction); } return(null); }
internal static string GetMultiMatchRecordAction(SFDCCallType calltype, ChatOptions chatOptions) { switch (calltype) { case SFDCCallType.InboundChat: return(chatOptions.InbMultiMatchRecordAction); case SFDCCallType.ConsultVoiceReceived: return(chatOptions.ConMultiMatchRecordAction); } return(null); }
private static IMediator CreateMediatorWithFindConference(ChatOptions options) { var mockMediator = new Mock <IMediator>(); mockMediator.Setup(x => x.Send(It.IsAny <FindConferenceByIdRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new Conference("123") { Configuration = new ConferenceConfiguration { Chat = options } }); return(mockMediator.Object); }
private async ValueTask <IEnumerable <ChatChannel> > FetchPrivateChannels(ChatOptions options, Participant participant) { if (!options.IsPrivateChatEnabled) { return(Enumerable.Empty <ChatChannel>()); } var allChannels = await _chatRepository.FetchAllChannels(participant.ConferenceId); return(allChannels.Select(SynchronizedObjectId.Parse).Select(ChannelSerializer.Decode) .OfType <PrivateChatChannel>() .Where(x => x.Participants.Any(participantId => participantId == participant.Id))); }
/// <summary> /// Creates an Instance of the Class /// </summary> public ChatEvents() { this.logger = Log.GenInstance(); this.leadOptions = Settings.LeadChatOptions; this.contactOptions = Settings.ContactChatOptions; this.accountOptions = Settings.AccountChatOptions; this.caseOptions = Settings.CaseChatOptions; this.opportunityOptions = Settings.OpportunityChatOptions; this.userActivityLog = (Settings.ChatActivityLogCollection.ContainsKey("useractivity")) ? Settings.ChatActivityLogCollection["useractivity"] : null; this.sfdcObject = SFDCUtility.GetInstance(); this.activityLogs = Settings.ChatActivityLogCollection; this.customObjectOptions = Settings.CustomObjectChatOptions; this.userActivityOptions = Settings.UserActivityChatOptions; this.PopupPages = Settings.SFDCOptions.SFDCPopupPages; }
/// <summary> /// Constructor /// </summary> private SFDCAccount() { this._logger = Log.GenInstance(); this._accountVoiceOptions = Settings.AccountVoiceOptions; this._accountChatOptions = Settings.AccountChatOptions; _accountLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("account")) ? Settings.VoiceActivityLogCollection["account"] : null; _accountChatLogConfig = (Settings.ChatActivityLogCollection.ContainsKey("account")) ? Settings.ChatActivityLogCollection["account"] : null; this._accountEmailRecordConfig = (Settings.EmailNewRecordCollection.ContainsKey("account")) ? Settings.EmailNewRecordCollection["account"] : null; this._accountVoiceRecordConfig = (Settings.VoiceNewRecordCollection.ContainsKey("account")) ? Settings.VoiceNewRecordCollection["account"] : null; this._accountChatRecordConfig = (Settings.ChatNewRecordCollection.ContainsKey("account")) ? Settings.ChatNewRecordCollection["account"] : null; this._sfdcUtility = SFDCUtility.GetInstance(); this._accountEmailOptions = Settings.AccountEmailOptions; this._accountEmailLogConfig = Settings.EmailActivityLogCollection.ContainsKey("account") ? Settings.EmailActivityLogCollection["account"] : null; this._sfdcUtilityHelper = SFDCUtiltiyHelper.GetInstance(); }
/// <summary> /// Constructor /// </summary> private SFDCContact() { this.logger = Log.GenInstance(); this.sfdcUtility = SFDCUtility.GetInstance(); this.contactVoiceOptions = Settings.ContactVoiceOptions; this.contactChatOptions = Settings.ContactChatOptions; this.ContactLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("contact")) ? Settings.VoiceActivityLogCollection["contact"] : null; ContactChatLogConfig = (Settings.ChatActivityLogCollection.ContainsKey("contact")) ? Settings.ChatActivityLogCollection["contact"] : null; this.ContactEmailRecordConfig = (Settings.EmailNewRecordCollection.ContainsKey("contact")) ? Settings.EmailNewRecordCollection["contact"] : null; this.ContactVoiceRecordConfig = (Settings.VoiceNewRecordCollection.ContainsKey("contact")) ? Settings.VoiceNewRecordCollection["contact"] : null; this.ContactChatRecordConfig = (Settings.ChatNewRecordCollection.ContainsKey("contact")) ? Settings.ChatNewRecordCollection["contact"] : null; this.ContactEmailLogConfig = (Settings.EmailActivityLogCollection.ContainsKey("contact")) ? Settings.EmailActivityLogCollection["contact"] : null; this.contactEmailOptions = Settings.ContactEmailOptions; this.sfdcUtilityHelper = SFDCUtiltiyHelper.GetInstance(); }
private SFDCOpportunity() { this._logger = Log.GenInstance(); this._opportunityVoiceOptions = Settings.OpportunityVoiceOptions; this._opportunityChatOptions = Settings.OpportunityChatOptions; this._opportunityLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("opportunity")) ? Settings.VoiceActivityLogCollection["opportunity"] : null; this._opportunityChatLogConfig = (Settings.ChatActivityLogCollection.ContainsKey("opportunity")) ? Settings.ChatActivityLogCollection["opportunity"] : null; this._opportunityEmailRecordConfig = (Settings.EmailNewRecordCollection.ContainsKey("opportunity")) ? Settings.EmailNewRecordCollection["opportunity"] : null; this._opportunityVoiceRecordConfig = (Settings.VoiceNewRecordCollection.ContainsKey("opportunity")) ? Settings.VoiceNewRecordCollection["opportunity"] : null; this._opportunityChatRecordConfig = (Settings.ChatNewRecordCollection.ContainsKey("opportunity")) ? Settings.ChatNewRecordCollection["opportunity"] : null; this._sfdcUtility = SFDCUtility.GetInstance(); this._sfdcUtilityHelper = SFDCUtiltiyHelper.GetInstance(); this._opportunityEmailLogConfig = (Settings.EmailActivityLogCollection.ContainsKey("opportunity")) ? Settings.EmailActivityLogCollection["opportunity"] : null; this._opportunityEmailOptions = Settings.OpportunityEmailOptions; }
/// <summary> /// Constructor /// </summary> private SFDCCase() { this._logger = Log.GenInstance(); this._caseVoiceOptions = Settings.CaseVoiceOptions; this._caseChatOptions = Settings.CaseChatOptions; this._caseLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("case")) ? Settings.VoiceActivityLogCollection["case"] : null; this._caseChatLogOptions = (Settings.ChatActivityLogCollection.ContainsKey("case")) ? Settings.ChatActivityLogCollection["case"] : null; this._caseEmailRecordConfig = (Settings.EmailNewRecordCollection.ContainsKey("case")) ? Settings.EmailNewRecordCollection["case"] : null; this._caseVoiceRecordConfig = (Settings.VoiceNewRecordCollection.ContainsKey("case")) ? Settings.VoiceNewRecordCollection["case"] : null; this._caseChatRecordConfig = (Settings.ChatNewRecordCollection.ContainsKey("case")) ? Settings.ChatNewRecordCollection["case"] : null; this._sfdcUtility = SFDCUtility.GetInstance(); this._caseEmailOptions = Settings.CaseEmailOptions; this._caseEmailLogOptions = (Settings.EmailActivityLogCollection.ContainsKey("case")) ? Settings.EmailActivityLogCollection["case"] : null; this._sfdcUtilityHelper = SFDCUtiltiyHelper.GetInstance(); }
private SFDCLead() { this.logger = Log.GenInstance(); this.sfdcUtility = SFDCUtility.GetInstance(); this.leadVoiceOptions = Settings.LeadVoiceOptions; this.leadChatOptions = Settings.LeadChatOptions; this.LeadLogConfig = (Settings.VoiceActivityLogCollection.ContainsKey("lead")) ? Settings.VoiceActivityLogCollection["lead"] : null; this.LeadChatLogConfig = (Settings.ChatActivityLogCollection.ContainsKey("lead")) ? Settings.ChatActivityLogCollection["lead"] : null; this.LeadEmailRecordConfig = (Settings.EmailNewRecordCollection.ContainsKey("lead")) ? Settings.EmailNewRecordCollection["lead"] : null; this.LeadVoiceRecordConfig = (Settings.VoiceNewRecordCollection.ContainsKey("lead")) ? Settings.VoiceNewRecordCollection["lead"] : null; this.LeadChatRecordConfig = (Settings.ChatNewRecordCollection.ContainsKey("lead")) ? Settings.ChatNewRecordCollection["lead"] : null; this.LeadEmailLogConfig = (Settings.EmailActivityLogCollection.ContainsKey("lead")) ? Settings.EmailActivityLogCollection["lead"] : null; this.LeadEmailWorkbinConfig = (Settings.EmailActivityLogCollection.ContainsKey("workbin")) ? Settings.EmailActivityLogCollection["workbin"] : null; this.leadEmailOptions = Settings.LeadEmailOptions; this.sfdcUtilityHelper = SFDCUtiltiyHelper.GetInstance(); }
public Bot(IOptions <Tokens> tokens, IOptions <ChatOptions> chatOptions, ILogger <Bot> logger, TelegramUrlService urlService) { _tokens = tokens.Value; _chatOptions = chatOptions.Value; _logger = logger; _urlService = urlService; _telegram = new TelegramBotClient(_tokens.Telegram); var discordConnected = new TaskCompletionSource <object>(); EnsureDiscordConnected = () => discordConnected.Task; _discord.Ready += async() => discordConnected.TrySetResult(null); _telegramConverter = new TelegramMessageConverter(DiscordMessageLengthLimit, GetFileUrl); }
/// <summary> /// Creates an Instance of the Class /// </summary> public ChatManager() { this._logger = Log.GenInstance(); this._leadOptions = Settings.LeadChatOptions; this._contactOptions = Settings.ContactChatOptions; this._accountOptions = Settings.AccountChatOptions; this._caseOptions = Settings.CaseChatOptions; this._opportunityOptions = Settings.OpportunityChatOptions; this._userActivityLog = (Settings.ChatActivityLogCollection.ContainsKey("useractivity")) ? Settings.ChatActivityLogCollection["useractivity"] : null; this._sFDCUtility = SFDCUtility.GetInstance(); this._activityLogs = Settings.ChatActivityLogCollection; this._customObjectOptions = Settings.CustomObjectChatOptions; this._userActivityOptions = Settings.UserActivityChatOptions; this._popupPages = Settings.SFDCOptions.SFDCPopupPages; this._generalOptions = Settings.SFDCOptions; this._sfdcUtilityHelper = SFDCUtiltiyHelper.GetInstance(); }
private string GetNoRecordFoundAction(SFDCCallType calltype, ChatOptions options) { string NoMatchRecordAction = string.Empty; switch (calltype) { case SFDCCallType.InboundChat: NoMatchRecordAction = options.InbNoMatchRecordAction; break; case SFDCCallType.ConsultChatFailure: case SFDCCallType.ConsultChatReceived: case SFDCCallType.ConsultChatSuccess: NoMatchRecordAction = options.ConNoMatchRecordAction; break; } return(NoMatchRecordAction); }
public AutoMessage(WinterBot bot) { m_bot = bot; var options = bot.Options; m_msgOptions = options.AutoMessageOptions; m_chatOptions = options.ChatOptions; if (ShouldEnable) Enable(); if (!string.IsNullOrEmpty(m_chatOptions.SubscribeMessage)) bot.UserSubscribed += bot_UserSubscribed; if (!string.IsNullOrEmpty(m_chatOptions.FollowMessage)) bot.UserFollowed += bot_UserFollowed; bot.StreamOnline += bot_StreamOnline; bot.StreamOffline += bot_StreamOffline; }
public AutoMessage(WinterBot bot) { var options = bot.Options; m_msgOptions = options.AutoMessageOptions; m_chatOptions = options.ChatOptions; // TODO: respond to property changed on these if (m_msgOptions.Enabled) { if (m_msgOptions.MessageDelay > 0) bot.MessageReceived += bot_MessageReceived; bot.Tick += bot_Tick; } if (!string.IsNullOrEmpty(m_chatOptions.SubscribeMessage)) bot.UserSubscribed += bot_UserSubscribed; if (!string.IsNullOrEmpty(m_chatOptions.FollowMessage)) bot.UserFollowed += bot_UserFollowed; }
private async ValueTask <ChatChannel?> GetParticipantRoomChatChannel(ChatOptions options, Participant participant) { if (!options.IsRoomChatEnabled) { return(null); } var roomId = await _roomRepository.GetRoomOfParticipant(participant); if (roomId == null) { return(null); } if (options.IsDefaultRoomChatDisabled && roomId == RoomOptions.DEFAULT_ROOM_ID) { return(null); } return(new RoomChatChannel(roomId)); }
private bool IsGlobalChatAvailable(ChatOptions options) { return(options.IsGlobalChatEnabled); }
private static void ReadCustomObjectConfigurations(string sfdcObjectName) { try { _logger.Info("Initialize: Reading CustomObject Configuration and Initializing Properties......"); _logger.Info("Initialize: Object Name : " + sfdcObjectName); KeyValueCollection customConfig = ReadConfiguration.GetInstance().ReadSFDCUtilityConfig(AgentDetails.MyApplication, AgentDetails.AgentGroups, AgentDetails.Person, sfdcObjectName); if (customConfig != null) { CustomObjectConfigs.Add(sfdcObjectName, customConfig); if (IsVoiceEnabled) { _logger.Info("Reading Voice Options for the " + sfdcObjectName + " object"); VoiceNewRecordCollection.Add(sfdcObjectName, ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, AgentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, "voice." + sfdcObjectName)); VoiceOptions voiceOptions = ReadProperties.GetInstance().GetSFDCObjectVoiceProperties(customConfig, sfdcObjectName); if (voiceOptions != null) { if (voiceOptions.ObjectName != null && !CustomObjectNames.ContainsKey(voiceOptions.ObjectName + ",")) { CommonPopupObjects += voiceOptions.ObjectName + ","; CustomObjectNames.Add(voiceOptions.ObjectName, sfdcObjectName); } CustomObjectVoiceOptions.Add(sfdcObjectName, voiceOptions); } ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, AgentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "voice." + sfdcObjectName); if (ConfigData != null) { VoiceActivityLogCollection.Add(sfdcObjectName, ConfigData); } } if (IsChatEnabled) { _logger.Info("Reading Chat Options for the " + sfdcObjectName + " object"); ChatNewRecordCollection.Add(sfdcObjectName, ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, AgentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, "chat." + sfdcObjectName)); ChatOptions chatOptions = ReadProperties.GetInstance().GetSFDCObjectChatProperties(customConfig, sfdcObjectName); if (chatOptions != null) { if (chatOptions.ObjectName != null && !CustomObjectNames.ContainsKey(chatOptions.ObjectName + ",")) { CommonPopupObjects += chatOptions.ObjectName + ","; CustomObjectNames.Add(chatOptions.ObjectName, sfdcObjectName); } CustomObjectChatOptions.Add(sfdcObjectName, chatOptions); } ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, AgentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "chat." + sfdcObjectName); if (ConfigData != null) { ChatActivityLogCollection.Add(sfdcObjectName, ConfigData); } } if (IsEmailEnabled) { _logger.Info("Reading Email Options for the " + sfdcObjectName + " object"); EmailOptions emailOptions = ReadProperties.GetInstance().GetSFDCObjectEmailProperties(customConfig, sfdcObjectName); if (emailOptions != null) { if (emailOptions.ObjectName != null && !CustomObjectNames.ContainsKey(emailOptions.ObjectName + ",")) { CommonPopupObjects += emailOptions.ObjectName + ","; CustomObjectNames.Add(emailOptions.ObjectName, sfdcObjectName); } CustomObjectEmailOptions.Add(sfdcObjectName, emailOptions); } EmailNewRecordCollection.Add(sfdcObjectName, ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, AgentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, "email." + sfdcObjectName)); ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, AgentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "email." + sfdcObjectName); if (ConfigData != null) { EmailActivityLogCollection.Add(sfdcObjectName, ConfigData); } } } else { _logger.Info("Initialize: CustomObject Configuration Not Found."); } } catch (Exception generalException) { _logger.Error("Error occurred in CustomObjectConfigurations() method, Exception:" + generalException.ToString()); } }
/// <summary> /// Gets Custom Object Chat Popup Data /// </summary> /// <param name="message"></param> /// <param name="callType"></param> /// <param name="objectName"></param> /// <returns></returns> public CustomObjectData GetCustomObjectChatPopupData(IXNCustomData chatData, SFDCCallType callType, string objectName) { try { IMessage message = chatData.InteractionEvent; this.logger.Info("GetCustomObjectChatPopupData : Reading CustomObject Chat Popup Data....."); this.logger.Info("GetCustomObjectChatPopupData : Event Name : " + message.Name); this.logger.Info("GetCustomObjectChatPopupData : CallType Name : " + callType.ToString()); dynamic popupEvent = Convert.ChangeType(message, message.GetType()); if (popupEvent != null && customchatOptions.ContainsKey(objectName)) { CustomObjectData custom = new CustomObjectData(); ChatOptions customObjectOptions = customchatOptions[objectName]; #region Collect CustomObject Popup data custom.SearchData = this.sfdcUtilityHelper.GetChatSearchValue(customObjectOptions, chatData, callType); custom.ObjectName = customObjectOptions.ObjectName; custom.NoRecordFound = SFDCObjectHelper.GetNoRecordFoundAction(callType, customObjectOptions); custom.MultipleMatchRecord = SFDCObjectHelper.GetMultiMatchRecordAction(callType, customObjectOptions); custom.NewRecordFieldIds = customObjectOptions.NewrecordFieldIds; custom.SearchCondition = customObjectOptions.SearchCondition; custom.CreateLogForNewRecord = customObjectOptions.CanCreateLogForNewRecordCreate; custom.MaxRecordOpenCount = customObjectOptions.MaxNosRecordOpen; custom.SearchpageMode = customObjectOptions.SearchPageMode; custom.CustomObjectURL = customObjectOptions.CustomObjectURL; custom.PhoneNumberSearchFormat = customObjectOptions.PhoneNumberSearchFormat; custom.CanCreateNoRecordActivityLog = SFDCObjectHelper.GetCanCreateProfileActivity(callType, customObjectOptions, true); custom.CanPopupNoRecordActivityLog = SFDCObjectHelper.GetCanPopupProfileActivity(callType, customObjectOptions, true); custom.CanCreateMultiMatchActivityLog = SFDCObjectHelper.GetCanCreateProfileActivity(callType, customObjectOptions); custom.CanPopupMultiMatchActivityLog = SFDCObjectHelper.GetCanPopupProfileActivity(callType, customObjectOptions); custom.CanCreateProfileActivityforInbNoRecord = customObjectOptions.CanCreateProfileActivityforInbNoRecord; if (CustomChatRecordConfigs != null && CustomChatRecordConfigs.ContainsKey(objectName)) { KeyValueCollection RecordConfig = CustomChatRecordConfigs[objectName]; if (RecordConfig != null) { if (custom.NoRecordFound.Equals("createnew")) { custom.CreateRecordFieldData = this.sfdcUtility.GetCreateActivityLogData(RecordConfig, message, callType, emailData: chatData); } } } KeyValueCollection LogConfig = null; if (this.CustomChatLogConfigs != null && this.CustomChatLogConfigs.ContainsKey(objectName)) { LogConfig = this.CustomChatLogConfigs[objectName]; } if (callType == SFDCCallType.InboundChat) { custom.CreateActvityLog = customObjectOptions.InboundCanCreateLog; if (LogConfig != null) { if (customObjectOptions.InboundCanCreateLog) { custom.ActivityLogData = this.sfdcUtility.GetCreateActivityLogData(LogConfig, popupEvent, callType, emailData: chatData); } } } else if (callType == SFDCCallType.ConsultChatReceived) { custom.CreateActvityLog = customObjectOptions.ConsultCanCreateLog; if (LogConfig != null) { if (customObjectOptions.ConsultCanCreateLog) { custom.ActivityLogData = this.sfdcUtility.GetCreateActivityLogData(LogConfig, popupEvent, callType, emailData: chatData); } } } return(custom); } #endregion Collect CustomObject Popup data } catch (Exception generalException) { this.logger.Error("GetCustomObjectChatPopupData : Error occurred : " + generalException.ToString()); } return(null); }
void LoadOptions(Options options) { m_options = options; m_chatOptions = options.ChatOptions; m_urlOptions = options.UrlOptions; m_capsOptions = options.CapsOptions; m_lengthOptions = options.LengthOptions; m_symbolOptions = options.SymbolOptions; m_emoteOptions = options.EmoteOptions; // Load url lists m_urlWhitelist = new List<Regex>(m_urlOptions.Whitelist.Select(s => new Regex(s, RegexOptions.IgnoreCase))); m_urlBlacklist = new List<Regex>(m_urlOptions.Blacklist.Select(s => new Regex(s, RegexOptions.IgnoreCase))); m_urlBanlist = new List<Regex>(m_urlOptions.Banlist.Select(s => new Regex(s, RegexOptions.IgnoreCase))); // Load URL extensions m_urlExtensions = new HashSet<string>(s_urlExtensions.Split(',')); }
public CustomObjectData GetCustomObjectChatUpdateData(IXNCustomData chatData, string objectName, string eventName) { try { IMessage message = chatData.InteractionEvent; SFDCCallType callType = chatData.InteractionType; string callDuration = chatData.Duration; this.logger.Info("GetCustomObjectChatUpdateData : Reading CustomObject Chat Update Data....."); this.logger.Info("GetCustomObjectChatUpdateData : Event Name : " + message.Name); dynamic popupEvent = Convert.ChangeType(message, message.GetType()); if (popupEvent != null && customchatOptions.ContainsKey(objectName)) { CustomObjectData customObject = new CustomObjectData(); ChatOptions currentObjectOptions = this.customchatOptions[objectName]; KeyValueCollection currentObjectLogConfigs = null; KeyValueCollection currentObjectRecordConfig = null; if (CustomChatLogConfigs != null && CustomChatLogConfigs.ContainsKey(objectName)) { currentObjectLogConfigs = CustomChatLogConfigs[objectName]; } if (CustomChatRecordConfigs != null && CustomChatRecordConfigs.ContainsKey(objectName)) { currentObjectRecordConfig = CustomChatRecordConfigs[objectName]; } #region Collect customObject Data customObject.ObjectName = currentObjectOptions.ObjectName; if (callType == SFDCCallType.InboundChat) { if (currentObjectOptions.InboundCanUpdateLog) { customObject.UpdateActivityLog = true; customObject.UpdateActivityLogData = this.sfdcUtility.GetUpdateActivityLogData(currentObjectLogConfigs, popupEvent, callType, callDuration, emailData: chatData); if (!string.IsNullOrWhiteSpace(currentObjectOptions.ChatAppendActivityLogEventNames) && currentObjectOptions.ChatAppendActivityLogEventNames.Contains(eventName)) { customObject.AppendActivityLogData = this.sfdcUtility.GetUpdateActivityLogData(currentObjectLogConfigs, null, callType, callDuration, emailData: chatData, isAppendLogData: true); } } } if (callType == SFDCCallType.ConsultChatReceived) { if (currentObjectOptions.ConsultCanUpdateLog) { customObject.UpdateActivityLog = true; customObject.UpdateActivityLogData = this.sfdcUtility.GetUpdateActivityLogData(currentObjectLogConfigs, popupEvent, callType, callDuration, emailData: chatData); if (!string.IsNullOrWhiteSpace(currentObjectOptions.ChatAppendActivityLogEventNames) && currentObjectOptions.ChatAppendActivityLogEventNames.Contains(eventName)) { customObject.AppendActivityLogData = this.sfdcUtility.GetUpdateActivityLogData(currentObjectLogConfigs, null, callType, callDuration, emailData: chatData, isAppendLogData: true); } } } //update CustomObject record fields customObject.UpdateRecordFields = customchatOptions[objectName].CanUpdateRecordData; if (SFDCObjectHelper.GetNoRecordFoundAction(callType, customchatOptions[objectName]).Equals("createnew") && this.CustomChatRecordConfigs[objectName] != null) { if (customchatOptions[objectName].CanUpdateRecordData) { customObject.UpdateRecordFieldsData = this.sfdcUtility.GetUpdateActivityLogData(this.CustomChatRecordConfigs[objectName], popupEvent, callType, callDuration, emailData: chatData); } } #endregion Collect customObject Data return(customObject); } } catch (Exception generalException) { this.logger.Error("GetCustomObjectChatUpdateData : Error occurred : " + generalException.ToString()); } return(null); }
public User() : base() { this.ChatOptions = ChatOptions.NotifyOnFriendLogIn; }
public static void InitializeUtils(ISFDCListener _subscirber, IAgentDetails _agentDetails, IConfService _confService) { try { logger = Log.GenInstance(); logger.Info("InitializeUtils : Reading Configuration and Initializing Properties......"); AgentDetails = _agentDetails; ConfigService = _confService; SFDCListener = _subscirber; foreach (string sfdcObject in SFDCOptions.SFDCPopupPages) { KeyValueCollection ConfigData = null; if (sfdcObject == "lead") { CommonPopupObjects += "Lead,"; logger.Info("InitializeUtils : Reading SFDCLead Configuration and Initializing Properties......"); LeadConfigs = ReadConfiguration.GetInstance().ReadSFDCObjectConfig(_agentDetails.MyApplication, _agentDetails.AgentGroups, _agentDetails.Person, sfdcObject); if (LeadConfigs != null) { LeadVoiceOptions = ReadProperties.GetInstance().GetSFDCObjectVoiceProperties(LeadConfigs, sfdcObject); LeadChatOptions = ReadProperties.GetInstance().GetSFDCObjectChatProperties(LeadConfigs, sfdcObject); ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "voice." + sfdcObject); if (ConfigData != null) { VoiceActivityLogCollection.Add(sfdcObject, ConfigData); } ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "chat." + sfdcObject); if (ConfigData != null) { ChatActivityLogCollection.Add(sfdcObject, ConfigData); } LeadNewRecordConfigs = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, sfdcObject); } else { logger.Info("InitializeUtils : No Lead Configuration Found."); } } else if (sfdcObject == "contact") { CommonPopupObjects += "Contact,"; logger.Info("InitializeUtils : Reading SFDCContact Configuration and Initializing Properties......"); ContactConfigs = ReadConfiguration.GetInstance().ReadSFDCObjectConfig(_agentDetails.MyApplication, _agentDetails.AgentGroups, _agentDetails.Person, sfdcObject); if (ContactConfigs != null) { ContactVoiceOptions = ReadProperties.GetInstance().GetSFDCObjectVoiceProperties(ContactConfigs, sfdcObject); ContactChatOptions = ReadProperties.GetInstance().GetSFDCObjectChatProperties(ContactConfigs, sfdcObject); ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "voice." + sfdcObject); if (ConfigData != null) { VoiceActivityLogCollection.Add(sfdcObject, ConfigData); } ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "chat." + sfdcObject); if (ConfigData != null) { ChatActivityLogCollection.Add(sfdcObject, ConfigData); } ContactNewRecordConfigs = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, sfdcObject); } else { logger.Info("InitializeUtils : No Contact Configuration Found."); } } else if (sfdcObject == "account") { CommonPopupObjects += "Account,"; logger.Info("InitializeUtils : Reading SFDCAccount Configuration and Initializing Properties......"); AccountConfigs = ReadConfiguration.GetInstance().ReadSFDCObjectConfig(_agentDetails.MyApplication, _agentDetails.AgentGroups, _agentDetails.Person, sfdcObject); if (AccountConfigs != null) { AccountVoiceOptions = ReadProperties.GetInstance().GetSFDCObjectVoiceProperties(AccountConfigs, sfdcObject); AccountChatOptions = ReadProperties.GetInstance().GetSFDCObjectChatProperties(AccountConfigs, sfdcObject); AccountNewRecordConfigs = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, sfdcObject); ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "voice." + sfdcObject); if (ConfigData != null) { VoiceActivityLogCollection.Add(sfdcObject, ConfigData); } ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "chat." + sfdcObject); if (ConfigData != null) { ChatActivityLogCollection.Add(sfdcObject, ConfigData); } } else { logger.Info("InitializeUtils : No Account Configuration Found."); } } else if (sfdcObject == "case") { CommonPopupObjects += "Case,"; logger.Info("InitializeUtils : Reading SFDCCase Configuration and Initializing Properties......"); CaseConfigs = ReadConfiguration.GetInstance().ReadSFDCObjectConfig(_agentDetails.MyApplication, _agentDetails.AgentGroups, _agentDetails.Person, sfdcObject); if (CaseConfigs != null) { CaseVoiceOptions = ReadProperties.GetInstance().GetSFDCObjectVoiceProperties(CaseConfigs, sfdcObject); CaseChatOptions = ReadProperties.GetInstance().GetSFDCObjectChatProperties(CaseConfigs, sfdcObject); CaseNewRecordConfigs = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, sfdcObject); ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "voice." + sfdcObject); if (ConfigData != null) { VoiceActivityLogCollection.Add(sfdcObject, ConfigData); } ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "chat." + sfdcObject); if (ConfigData != null) { ChatActivityLogCollection.Add(sfdcObject, ConfigData); } } else { logger.Info("InitializeUtils : No Case Configuration Found."); } } else if (sfdcObject == "opportunity") { CommonPopupObjects += "Opportunity,"; logger.Info("InitializeUtils : Reading SFDCOpportunity Configuration and Initializing Properties......"); OpportunityConfigs = ReadConfiguration.GetInstance().ReadSFDCObjectConfig(_agentDetails.MyApplication, _agentDetails.AgentGroups, _agentDetails.Person, sfdcObject); if (OpportunityConfigs != null) { OpportunityVoiceOptions = ReadProperties.GetInstance().GetSFDCObjectVoiceProperties(OpportunityConfigs, sfdcObject); OpportunityChatOptions = ReadProperties.GetInstance().GetSFDCObjectChatProperties(OpportunityConfigs, sfdcObject); OpportunityNewRecordConfigs = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, sfdcObject); ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "voice." + sfdcObject); if (ConfigData != null) { VoiceActivityLogCollection.Add(sfdcObject, ConfigData); } ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "chat." + sfdcObject); if (ConfigData != null) { ChatActivityLogCollection.Add(sfdcObject, ConfigData); } } else { logger.Info("InitializeUtils : No Opportunity Configuration Found."); } } else if (sfdcObject.Contains("customobject")) { logger.Info("InitializeUtils : Reading SFDCCustomObject Configuration and Initializing Properties......"); logger.Info("InitializeUtils : Object Name : " + sfdcObject); KeyValueCollection customConfig = ReadConfiguration.GetInstance().ReadSFDCObjectConfig(_agentDetails.MyApplication, _agentDetails.AgentGroups, _agentDetails.Person, sfdcObject); if (customConfig != null) { CustomObjectConfigs.Add(sfdcObject, customConfig); VoiceOptions voiceOptions = ReadProperties.GetInstance().GetSFDCObjectVoiceProperties(customConfig, sfdcObject); if (voiceOptions != null) { if (voiceOptions.ObjectName != null) { CommonPopupObjects += voiceOptions.ObjectName + ","; CustomObjectNames.Add(voiceOptions.ObjectName, sfdcObject); } CustomObjectVoiceOptions.Add(sfdcObject, voiceOptions); } ChatOptions chatOptions = ReadProperties.GetInstance().GetSFDCObjectChatProperties(customConfig, sfdcObject); if (chatOptions != null) { CustomObjectChatOptions.Add(sfdcObject, chatOptions); } CustomObjectNewRecordConfigs.Add(sfdcObject, ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.NewRecordDataBusinessAttribute, sfdcObject)); ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "voice." + sfdcObject); if (ConfigData != null) { VoiceActivityLogCollection.Add(sfdcObject, ConfigData); } ConfigData = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "chat." + sfdcObject); if (ConfigData != null) { ChatActivityLogCollection.Add(sfdcObject, ConfigData); } } else { logger.Info("InitializeUtils : No Configuration Found for the CustomObject : " + sfdcObject); } } else if (sfdcObject == "useractivity") { logger.Info("InitializeUtils : Reading SFDCUserActivity Configuration and Initializing Properties......"); UserActivityConfigs = ReadConfiguration.GetInstance().ReadSFDCObjectConfig(_agentDetails.MyApplication, _agentDetails.AgentGroups, _agentDetails.Person, sfdcObject); if (UserActivityConfigs != null) { UserActivityVoiceOptions = ReadProperties.GetInstance().GetSFDCUserActivityVoiceProperties(UserActivityConfigs, sfdcObject); KeyValueCollection voiceUserActivityLog = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "voice." + sfdcObject); if (voiceUserActivityLog != null) { VoiceActivityLogCollection.Add(sfdcObject, voiceUserActivityLog); } UserActivityChatOptions = ReadProperties.GetInstance().GetSFDCUserActivityChatProperties(UserActivityConfigs, sfdcObject); KeyValueCollection chatuseractivitylog = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ActivityLogBusinessAttribute, "chat." + sfdcObject); if (chatuseractivitylog != null) { ChatActivityLogCollection.Add(sfdcObject, chatuseractivitylog); } } else { logger.Info("InitializeUtils : No SFDCUserActivity Configuration Found."); } } } if (!String.IsNullOrEmpty(CommonPopupObjects)) { CommonPopupObjects = CommonPopupObjects.Substring(0, CommonPopupObjects.Length - 1); } if (SFDCOptions.CanUseCommonSearchData) { //Read business attribute for Profile level activity if (!string.IsNullOrWhiteSpace(SFDCOptions.ProfileActivityBusinessAttributeName)) { ProfileLevelActivity = ReadConfiguration.GetInstance().ReadBusinessAttribuiteConfig(ConfigService, _agentDetails.Person.Tenant.DBID, SFDCOptions.ProfileActivityBusinessAttributeName, "voice.useractivity"); } else { logger.Info("ProfileLevel Activity Log Creation is not configured"); } } } catch (Exception generalException) { logger.Error("InitializeUtils : Error Occurred while Reading SFDC Object configurations : " + generalException.ToString()); } }
void LoadOptions(WinterBot bot) { Options options = bot.Options; m_options = options; m_chatOptions = options.ChatOptions; m_urlOptions = options.UrlOptions; m_capsOptions = options.CapsOptions; m_lengthOptions = options.LengthOptions; m_symbolOptions = options.SymbolOptions; m_emoteOptions = options.EmoteOptions; m_banWordOptions = options.BanWordOptions; // Load url lists m_urlWhitelist = new List<RegexMatch>(m_urlOptions.Whitelist.Select(s => new UrlMatch(bot, s))); m_urlBlacklist = new List<RegexMatch>(m_urlOptions.Blacklist.Select(s => new UrlMatch(bot, s))); m_urlBanlist = new List<RegexMatch>(m_urlOptions.Banlist.Select(s => new UrlMatch(bot, s))); m_wordBanlist = new List<RegexMatch>(m_banWordOptions.BanList.Select(s => new WordMatch(bot, s))); }
/// <summary> /// Gets Voice search Valus /// </summary> /// <param name="userData"></param> /// <param name="message"></param> /// <param name="chatOptions"></param> /// <param name="callType"></param> /// <returns></returns> private string GetChatSearchValue(KeyValueCollection userData, IMessage message, ChatOptions chatOptions, SFDCCallType callType) { try { this.logger.Info("GetChatSearchValue : Reading Custom Popup Data....."); this.logger.Info("GetChatSearchValue : UserData Name : " + Convert.ToString(userData)); this.logger.Info("GetChatSearchValue : Event Name : " + message.Name); this.logger.Info("GetChatSearchValue : CallType Name : " + callType.ToString()); string[] userDataSearchKeys = null; string[] attributeSearchKeys = null; string searchValue = string.Empty; if (callType == SFDCCallType.InboundChat) { userDataSearchKeys = (chatOptions.InboundSearchUserDataKeys != null) ? chatOptions.InboundSearchUserDataKeys.Split(',') : null; attributeSearchKeys = (chatOptions.InboundSearchAttributeKeys != null) ? chatOptions.InboundSearchAttributeKeys.Split(',') : null; } else if (callType == SFDCCallType.ConsultChatReceived) { userDataSearchKeys = (chatOptions.ConsultSearchUserDataKeys != null) ? chatOptions.ConsultSearchUserDataKeys.Split(',') : null; attributeSearchKeys = (chatOptions.ConsultSearchAttributeKeys != null) ? chatOptions.ConsultSearchAttributeKeys.Split(',') : null; } if (chatOptions.SearchPriority == "user-data") { searchValue = this.sfdcObject.GetUserDataSearchValues(userData, userDataSearchKeys); } else if (chatOptions.SearchPriority == "attribute") { searchValue = this.sfdcObject.GetAttributeSearchValues(message, attributeSearchKeys); } else if (chatOptions.SearchPriority == "both") { searchValue = this.sfdcObject.GetUserDataSearchValues(userData, userDataSearchKeys); if (searchValue != string.Empty) { string temp = this.sfdcObject.GetAttributeSearchValues(message, attributeSearchKeys); if (temp != string.Empty) { searchValue += "," + temp; } } else { searchValue = this.sfdcObject.GetAttributeSearchValues(message, attributeSearchKeys); } } return(searchValue); } catch (Exception generalException) { this.logger.Error("GetChatSearchValue : Error occurred while reading Search Values : " + generalException.ToString()); } return(null); }