// private CfgPerson _person = null; #endregion Field Declaration public void ReadApplicationValue(ConfService configProtocol, string applicationName) { try { // application = new CfgApplication(.Instance().ComObject); //CfgApplicationQuery appQuery = new CfgApplicationQuery(); //appQuery.Name = applicationName; //CfgApplication application = configProtocol.RetrieveObject<CfgApplication>(appQuery); //if (application.Options.ContainsKey("agent.ixn.desktop")) //{ // KeyValueCollection keyValue = (KeyValueCollection)application.Options["agent.ixn.desktop"]; if (ConfigContainer.Instance().AllKeys.Contains("interaction.case-data.transaction-object")) { ReadTransaction(configProtocol, ConfigContainer.Instance().GetAsString("interaction.case-data.transaction-object")); } if (ConfigContainer.Instance().AllKeys.Contains("interaction.disposition.key-name")) { setting.VoiceDispositionKeyName = ConfigContainer.Instance().GetAsString("interaction.disposition.key-name"); } if (ConfigContainer.Instance().AllKeys.Contains("interaction.disposition-collection.key-name")) { setting.VoiceDispositionCollectionName = ConfigContainer.Instance().GetAsString("interaction.disposition-collection.key-name"); } //} } catch (Exception ex) { logger.Error("Error occurred as " + ex.Message); } }
public void ReadTransaction(ConfService configProtocol, string transactionName) { try { // application = new CfgApplication(.Instance().ComObject); //CfgTransactionQuery trasactionQuery = new CfgTransactionQuery(); //trasactionQuery.Name = transactionName; //CfgTransaction transaction = configProtocol.RetrieveObject<CfgTransaction>(trasactionQuery); //if (transaction != null) //{ // if (transaction.UserProperties.ContainsKey("voice.case-data-filter")) // { KeyValueCollection keys = ConfigContainer.Instance().GetValue("VoiceAttachDataFilterKey") as KeyValueCollection; //(KeyValueCollection)transaction.UserProperties["voice.case-data-filter"]; if (keys != null) { foreach (object value in keys.Values) { setting.VoiceFilterKey.Add(value.ToString()); } } // } //} } catch (Exception ex) { logger.Error("Error occurred as " + ex.Message); } }
/// <summary> /// Gets the plugin values. /// </summary> /// <param name="AppName">Name of the app.</param> /// <param name="ConfObject">The conf object.</param> /// <returns></returns> public OutputValues GetPluginValues(string AppName, ConfService ConfObject) { ReadApplication read = new ReadApplication(); OutputValues output = OutputValues.GetInstance(); try { logger.Debug("ConfigConnectionManager : GetPluginValues Method: Entry"); StatisticsSetting.GetInstance().confObject = ConfObject; read.ReadLoggerDetails(AppName); output.MessageCode = "200"; output.Message = "Config Server Protocol Opened"; } catch (Exception connectionException) { logger.Error("ConfigConnectionManager :GetPluginValues Method: " + connectionException.Message.ToString()); } finally { logger.Debug("ConfigConnectionManager : GetPluginValues Method: Exit"); GC.Collect(); } return(output); }
/// <summary> /// Connects the ucs. /// </summary> /// <param name="configObject">The configuration object.</param> /// <param name="contactAppName">Name of the application.</param> /// <returns></returns> public OutputValues ConnectUCS(ConfService configObject, NullableInt tenantDBID, string contactAppName, Func <bool, bool> contactServerNotification) { OutputValues output = null; ReadConfigObjects readConfigObjects = new ReadConfigObjects(); try { Settings.comObject = configObject; Settings.tenantDBID = tenantDBID; readConfigObjects.ReadApplicationObject(contactAppName); ContactConnectionManager createProtocol = new ContactConnectionManager(); createProtocol.ContactServerNotificationHandler += new NotifyContactServerState(contactServerNotification); output = createProtocol.ConnectContactServer(Settings.PrimaryApplication, Settings.SecondaryApplication); if (output.MessageCode == "200") { messageToClient.NotifyContactProtocol(Settings.UCSProtocol); } else { messageToClient.NotifyContactProtocol(Settings.UCSProtocol); } } catch (Exception commonException) { logger.Error("ContactLibrary:ConnectUCS:" + commonException.ToString()); } return(output); }
public void Test_ConfService() { _service = new ConfService(); _confAppID = Guid.NewGuid(); TestCreate(); TestExists(); TestRead(); TestUpdate(); TestDelete(); _service.Close(); }
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); }
/// <summary> /// Reads the file integration key collections. /// </summary> /// <param name="configProtocol">The configuration protocol.</param> /// <param name="applicationName">Name of the application.</param> /// <returns></returns> #region ReadFileIntegrationKeyCollections public iCallData ReadFileIntegrationKeyCollections(ConfService configProtocol, string applicationName) { iCallData result = null; string value = string.Empty; int paramKey = 0; try { result = new CallData(); result.FileData = new FileIntegration(); result.PortData = new PortIntegration(); result.PipeData = new PipeIntegration(); result.CrmDbData = new CrmDbIntegration(); CfgApplication application = new CfgApplication(configProtocol); CfgApplicationQuery queryApp = new CfgApplicationQuery(); //queryApp.TenantDbid = WellKnownDbids.EnterpriseModeTenantDbid; queryApp.Name = applicationName; application = configProtocol.RetrieveObject <CfgApplication>(queryApp); if (application != null) { string[] applicationKeys = application.Options.AllKeys; string[] applicationUserPropertieskeys = application.UserProperties.AllKeys; foreach (string section in applicationUserPropertieskeys) { if (string.Compare(section, "facet.user.data", true) == 0) { KeyValueCollection kvColl = new KeyValueCollection(); kvColl = (KeyValueCollection)application.UserProperties["facet.user.data"]; logger.Debug("Retrieving values from facet.user.data section"); setting.attachDataList.Clear(); if (kvColl != null) { for (int i = 1; i <= (kvColl.Count / 2); i++) { if (kvColl.ContainsKey("facet.userdata.key" + i.ToString())) { if (kvColl["facet.userdata.key" + i.ToString()].ToString() != null && kvColl["facet.userdata.key" + i.ToString()].ToString() != string.Empty) { if (kvColl.ContainsKey("facet.tag.name" + i.ToString())) { if (kvColl["facet.tag.name" + i.ToString()].ToString() != null && kvColl["facet.tag.name" + i.ToString()].ToString() != string.Empty) { if (!setting.attachDataList.ContainsKey(kvColl["facet.tag.name" + i.ToString()].ToString())) { setting.attachDataList.Add(kvColl["facet.tag.name" + i.ToString()].ToString(), kvColl["facet.userdata.key" + i.ToString()].ToString()); logger.Debug("Key : facet.tag.name" + i.ToString() + " Value : " + kvColl["facet.tag.name" + i.ToString()].ToString()); logger.Debug("Key : facet.userdata.key" + i.ToString() + " Value : " + kvColl["facet.userdata.key" + i.ToString()].ToString()); } } } } } } } } } ConfigContainer.Instance().ReadSection("file-integration"); if (ConfigContainer.Instance().AllKeys.Contains("file-integration")) { KeyValueCollection _tempcoll = ConfigContainer.Instance().GetValue("file-integration"); } foreach (string section in applicationKeys) { if (string.Compare(section, "file-integration", true) == 0 && Settings.GetInstance().EnableFileCommunication) { KeyValueCollection getFileIntegrationCollection = (KeyValueCollection)application.Options[section]; //code added by vinoth for bcbs version to show calldata pop up result.FileData.EnableView = true; //End foreach (string fileKey in getFileIntegrationCollection.AllKeys) { Regex re = new Regex(@"\d+"); Match m = re.Match(fileKey); if (m.Success) { paramKey = Convert.ToInt16(m.Value); } if (string.Compare(fileKey, "directory", true) == 0) { logger.Debug("Key : " + fileKey + " Value : " + getFileIntegrationCollection[fileKey].ToString()); result.FileData.DirectoryPath = getFileIntegrationCollection[fileKey].ToString(); } else if (string.Compare(fileKey, "file-name", true) == 0) { logger.Debug("Key : " + fileKey + " Value : " + getFileIntegrationCollection[fileKey].ToString()); result.FileData.FileName = getFileIntegrationCollection[fileKey].ToString(); } else if (string.Compare(fileKey, "file-format", true) == 0) { logger.Debug("Key : " + fileKey + " Value : " + getFileIntegrationCollection[fileKey].ToString()); result.FileData.FileFormat = getFileIntegrationCollection[fileKey].ToString(); } else if (string.Compare(fileKey, "file.string-delimiter", true) == 0) { logger.Debug("Key : " + fileKey + " Value : " + getFileIntegrationCollection[fileKey].ToString()); result.FileData.Delimiter = getFileIntegrationCollection[fileKey].ToString(); } else if (string.Compare(fileKey, "file.event.data-type", true) == 0) { logger.Debug("Key : " + fileKey + " Value : " + getFileIntegrationCollection[fileKey].ToString()); result.FileData.CallDataEventFileType = getFileIntegrationCollection[fileKey].ToString().Split(new char[] { ',' }); } else if (string.Compare(fileKey, "enable.view", true) == 0) { logger.Debug("Key : " + fileKey + " Value : " + getFileIntegrationCollection[fileKey].ToString()); result.FileData.EnableView = Convert.ToBoolean(getFileIntegrationCollection[fileKey].ToString()); } else if (string.Compare(fileKey, "content-type", true) == 0) { logger.Debug("Key : " + fileKey + " Value : " + getFileIntegrationCollection[fileKey].ToString()); result.FileData.ContentType = getFileIntegrationCollection[fileKey].ToString(); } //else if (string.Compare(fileKey, "file" + paramKey + ".attribute", true) == 0) //{ // value += getFileIntegrationCollection[fileKey].ToString() + ","; //} else if (string.Compare(fileKey, "file" + paramKey + ".param", true) == 0) { try { if (getFileIntegrationCollection.ContainsKey("file" + paramKey + ".user-data.key")) { result.FileData.ParameterName.Add(getFileIntegrationCollection[fileKey].ToString() , Convert.ToString(getFileIntegrationCollection["file" + paramKey + ".user-data.key"])); } } catch (Exception paramValue) { logger.Error("No value configured for given Parameter " + getFileIntegrationCollection[fileKey].ToString() + " " + paramValue.ToString()); } // paramKey++; } else if (string.Compare(fileKey, "file" + paramKey + ".attribute", true) == 0) { try { if (getFileIntegrationCollection.ContainsKey("file" + paramKey + ".attribute.param")) { result.FileData.ParameterValue.Add(getFileIntegrationCollection[fileKey].ToString() , Convert.ToString(getFileIntegrationCollection["file" + paramKey + ".attribute.param"])); } } catch (Exception paramValue) { logger.Error("No value configured for given Parameter " + getFileIntegrationCollection[fileKey].ToString() + " " + paramValue.ToString()); } // paramKey++; } } //result.FileData.AttributeFilter= value.ToString().Split(new char[] { ',' }); ; getFileIntegrationCollection.Clear(); value = string.Empty; } else if (string.Compare(section, "port-integration", true) == 0 && Settings.GetInstance().EnablePortCommunication) { KeyValueCollection getPortIntegrationCollection = (KeyValueCollection)application.Options[section]; // paramKey = 0; foreach (string portKey in getPortIntegrationCollection.AllKeys) { switch (portKey) { case "ip-address": setting.PortSetting.HostName = getPortIntegrationCollection[portKey].ToString(); break; case "receiving.data.port": setting.PortSetting.IncomingPortNumber = int.Parse(getPortIntegrationCollection[portKey].ToString()); break; case "sending.data.port": setting.PortSetting.OutGoingPortNumber = int.Parse(getPortIntegrationCollection[portKey].ToString()); break; case "port.send.delimiter": setting.PortSetting.SendDataDelimiter = getPortIntegrationCollection[portKey].ToString(); break; case "port.receive.delimiter": setting.PortSetting.ReceiveDataDelimiter = getPortIntegrationCollection[portKey].ToString(); break; case "port.call-media": setting.PortSetting.CallMedia = new List <string>(getPortIntegrationCollection[portKey].ToString().Split(',')); break; case "port.listen.event": //if (!string.IsNullOrEmpty(getPortIntegrationCollection[portKey].ToString()) && !string.IsNullOrWhiteSpace(getPortIntegrationCollection[portKey].ToString())) setting.PortSetting.CallDataEventType = new List <string>(getPortIntegrationCollection[portKey].ToString().Split(',')); break; case "port.receive.key-name": setting.PortSetting.ReceiveDatakey = new List <string>(getPortIntegrationCollection[portKey].ToString().Split(',')); break; case "port.receive.connid-key-name": setting.PortSetting.ReceiveConnectionIdName = getPortIntegrationCollection[portKey].ToString(); break; case "port.webservicereference-url": setting.PortSetting.WebServiceURL = getPortIntegrationCollection[portKey].ToString(); break; } } //Code to get list of key names and param name for (int i = 0; true; i++) { string keyName = "port.attribute" + i + ".key-name"; string paramName = "port.attribute" + i + ".param-name"; if (getPortIntegrationCollection.ContainsKey(keyName) && getPortIntegrationCollection.ContainsKey(paramName)) { setting.PortSetting.SendAttributeKeyName.Add(getPortIntegrationCollection[keyName].ToString()); setting.PortSetting.SendAttributeValue.Add(getPortIntegrationCollection[paramName].ToString()); } else { break; } } //Code to get list of user data's key names and param name for (int j = 0; true; j++) { string keyName = "port.user-data" + j + ".key-name"; string paramName = "port.user-data" + j + ".param-name"; if (getPortIntegrationCollection.ContainsKey(keyName) && getPortIntegrationCollection.ContainsKey(paramName)) { setting.PortSetting.SendUserDataName.Add(getPortIntegrationCollection[keyName].ToString()); setting.PortSetting.SendUserDataValue.Add(getPortIntegrationCollection[paramName].ToString()); } else { break; } } getPortIntegrationCollection.Clear(); } else if (string.Compare(section, "pipe-integration", true) == 0 && Settings.GetInstance().EnablePipeCommunication) { //KeyValueCollection getPipeIntegrationCollection = (KeyValueCollection)application.Options[section]; ////paramKey = 0; //foreach (string pipeKey in getPipeIntegrationCollection.AllKeys) //{ // Regex re = new Regex(@"\d+"); // Match m = re.Match(pipeKey); // if (m.Success) // { // paramKey = Convert.ToInt16(m.Value); // } // if (string.Compare(pipeKey, "pipe.server-first", true) == 0) // { // logger.Debug("Key : " + pipeKey + " Value : " + getPipeIntegrationCollection[pipeKey].ToString()); // result.PipeData.PipeFist = Convert.ToBoolean(getPipeIntegrationCollection[pipeKey].ToString().ToLower()); // } // else if (string.Compare(pipeKey, "pipe.name", true) == 0) // { // logger.Debug("Key : " + pipeKey + " Value : " + getPipeIntegrationCollection[pipeKey].ToString()); // result.PipeData.PipeName = getPipeIntegrationCollection[pipeKey].ToString(); // } // else if (string.Compare(pipeKey, "pipe.string-delimiter", true) == 0) // { // logger.Debug("Key : " + pipeKey + " Value : " + getPipeIntegrationCollection[pipeKey].ToString()); // result.PipeData.Delimiter = getPipeIntegrationCollection[pipeKey].ToString(); // } // else if (string.Compare(pipeKey, "pipe.format", true) == 0) // { // logger.Debug("Key : " + pipeKey + " Value : " + getPipeIntegrationCollection[pipeKey].ToString()); // result.PipeData.FileFormat = getPipeIntegrationCollection[pipeKey].ToString(); // } // else if (string.Compare(pipeKey, "pipe.event.data-type", true) == 0) // { // logger.Debug("Key : " + pipeKey + " Value : " + getPipeIntegrationCollection[pipeKey].ToString()); // result.PipeData.CallDataEventPipeType = getPipeIntegrationCollection[pipeKey].ToString().Split(new char[] { ',' }); // } // //else if (string.Compare(pipeKey, "pipe" + paramKey + ".attribute", true) == 0) // //{ // // value += getPipeIntegrationCollection[pipeKey].ToString() + ","; // //} // //else if (string.Compare(pipeKey, "pipe" + paramKey + ".attribute", true) == 0) // //{ // // value += getPipeIntegrationCollection[pipeKey].ToString() + ","; // //} // else if (string.Compare(pipeKey, "pipe" + paramKey + ".param", true) == 0) // { // try // { // if (getPipeIntegrationCollection.ContainsKey("pipe" + paramKey + ".user-data.key")) // result.PipeData.ParameterName.Add(getPipeIntegrationCollection[pipeKey].ToString() // , Convert.ToString(getPipeIntegrationCollection["pipe" + paramKey + ".user-data.key"])); // } // catch (Exception paramValue) // { // logger.Error("No value configured for given Parameter " + getPipeIntegrationCollection[pipeKey].ToString() + " " + paramValue.ToString()); // } // result.PipeData.ParameterName.Add(pipeKey, getPipeIntegrationCollection[pipeKey].ToString()); // // paramKey++; // } // else if (string.Compare(pipeKey, "pipe" + paramKey + ".attribute", true) == 0) // { // try // { // if (getPipeIntegrationCollection.ContainsKey("pipe" + paramKey + ".attribute.param")) // result.PipeData.ParameterValue.Add(getPipeIntegrationCollection[pipeKey].ToString() // , Convert.ToString(getPipeIntegrationCollection["pipe" + paramKey + ".attribute.param"])); // } // catch (Exception paramValue) // { // logger.Error("No value configured for given Parameter " + getPipeIntegrationCollection[pipeKey].ToString() + " " + paramValue.ToString()); // } // // paramKey++; // } //} //// result.PipeData.AttributeFilter = value.ToString().Split(new char[] { ',' }); ; //getPipeIntegrationCollection.Clear(); //value = string.Empty; } else if (string.Compare(section, "url-integration", true) == 0 && Settings.GetInstance().EnableURLCommunication) { //KeyValueCollection getUrlIntegrationCollection = (KeyValueCollection)application.Options[section]; //// paramKey = 0; //foreach (string urlKey in getUrlIntegrationCollection.AllKeys) //{ // Regex re = new Regex(@"\d+"); // Match m = re.Match(urlKey); // if (m.Success) // { // paramKey = Convert.ToInt16(m.Value); // } // if (string.Compare(urlKey, "enable.validate.queue-login", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.IsValidateQueueLogin = Convert.ToBoolean(getUrlIntegrationCollection[urlKey].ToString()); // } // else if (string.Compare(urlKey, "browser-type", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.BrowserType = getUrlIntegrationCollection[urlKey].ToString(); // } // else if (string.Compare(urlKey, "popup.url", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // string[] popurl = getUrlIntegrationCollection[urlKey].ToString().Split(new char[] { ',' }); // result.URLData.PopUpUrl = popurl[0]; // } // else if (string.Compare(urlKey, "login.url", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // string[] popurl = getUrlIntegrationCollection[urlKey].ToString().Split(new char[] { ',' }); // result.URLData.LoginUrl = popurl[0]; // } // else if (string.Compare(urlKey, "enable.login-popup-url", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.IsLoginUrlEnable = Convert.ToBoolean(getUrlIntegrationCollection[urlKey].ToString()); // } // else if (string.Compare(urlKey, "enable.web-page-address-bar", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.IsBrowserAddress = Convert.ToBoolean(getUrlIntegrationCollection[urlKey].ToString()); // } // else if (string.Compare(urlKey, "enable.web-page-status-bar", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.IsBrowserStatusBar = Convert.ToBoolean(getUrlIntegrationCollection[urlKey].ToString()); // } // else if (string.Compare(urlKey, "url.qs.delimiter", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.Delimiter = getUrlIntegrationCollection[urlKey].ToString(); // } // else if (string.Compare(urlKey, "url.event.data-type", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.CallDataEventUrlType = getUrlIntegrationCollection[urlKey].ToString().Split(new char[] { ',' }); // } // else if (string.Compare(urlKey, "enable.web-page-inside-aid", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.IsWebPageEnabled = Convert.ToBoolean(getUrlIntegrationCollection[urlKey].ToString()); // } // else if (string.Compare(urlKey, "web-page.name-aid", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.WebPageName = getUrlIntegrationCollection[urlKey].ToString(); // } // else if (string.Compare(urlKey, "control.popup-single-browser", true) == 0) // { // logger.Debug("Key : " + urlKey + " Value : " + getUrlIntegrationCollection[urlKey].ToString()); // result.URLData.IsSingleBrowser = Convert.ToBoolean(getUrlIntegrationCollection[urlKey].ToString()); // } // else if (string.Compare(urlKey, "url" + paramKey + ".param", true) == 0) // { // try // { // if (getUrlIntegrationCollection.ContainsKey("url" + paramKey + ".user-data.key")) // result.URLData.ParameterName.Add(getUrlIntegrationCollection[urlKey].ToString() // , Convert.ToString(getUrlIntegrationCollection["url" + paramKey + ".user-data.key"])); // } // catch (Exception paramValue) // { // logger.Error("No value configured for given Paramater " + getUrlIntegrationCollection[urlKey].ToString() + " " + paramValue.ToString()); // } // // paramKey++; // } // else if (string.Compare(urlKey, "url" + paramKey + ".attribute", true) == 0) // { // try // { // if (getUrlIntegrationCollection.ContainsKey("url" + paramKey + ".attribute.param")) // result.URLData.ParameterValue.Add(getUrlIntegrationCollection[urlKey].ToString() // , Convert.ToString(getUrlIntegrationCollection["url" + paramKey + ".attribute.param"])); // } // catch (Exception paramValue) // { // logger.Error("No value configured for given Paramater " + getUrlIntegrationCollection[urlKey].ToString() + " " + paramValue.ToString()); // } // // paramKey++; // } //} ////result.URLData .AttributeFilter = value.ToString().Split(new char[] { ',' }); ; //getUrlIntegrationCollection.Clear(); //value = string.Empty; } else if (string.Compare(section, "db-integration", true) == 0 && Settings.GetInstance().EnableCrmDbCommunication) { KeyValueCollection getCrmIntegrationCollection = (KeyValueCollection)application.Options[section]; //paramKey = 0; foreach (string portKey in getCrmIntegrationCollection.AllKeys) { Regex re = new Regex(@"\d+"); Match m = re.Match(portKey); if (m.Success) { paramKey = Convert.ToInt16(m.Value); } if (string.Compare(portKey, "db.sqlliteconnectionstring", true) == 0) { logger.Debug("Key : " + portKey + " Value : " + getCrmIntegrationCollection[portKey].ToString()); result.CrmDbData.DirectoryPath = getCrmIntegrationCollection[portKey].ToString(); } else if (string.Compare(portKey, "db-type", true) == 0) { logger.Debug("Key : " + portKey + " Value : " + getCrmIntegrationCollection[portKey].ToString()); result.CrmDbData.CrmDbFormat = getCrmIntegrationCollection[portKey].ToString(); } else if (string.Compare(portKey, "db.string-delimiter", true) == 0) { logger.Debug("Key : " + portKey + " Value : " + getCrmIntegrationCollection[portKey].ToString()); result.CrmDbData.Delimiter = getCrmIntegrationCollection[portKey].ToString(); } else if (string.Compare(portKey, "db.sqlconnectionstring", true) == 0) { logger.Debug("Key : " + portKey + " Value : " + getCrmIntegrationCollection[portKey].ToString()); result.CrmDbData.ConnectionSqlPath = getCrmIntegrationCollection[portKey].ToString(); } else if (string.Compare(portKey, "db.oracleconnectionstring", true) == 0) { logger.Debug("Key : " + portKey + " Value : " + getCrmIntegrationCollection[portKey].ToString()); result.CrmDbData.ConnectionOraclePath = getCrmIntegrationCollection[portKey].ToString(); } else if (string.Compare(portKey, "db.event.data-type", true) == 0) { logger.Debug("Key : " + portKey + " Value : " + getCrmIntegrationCollection[portKey].ToString()); result.CrmDbData.CallDataEventDBType = getCrmIntegrationCollection[portKey].ToString().Split(new char[] { ',' }); } //else if (string.Compare(portKey, "db" + paramKey + ".attribute", true) == 0) //{ // value += getCrmIntegrationCollection[portKey].ToString() + ","; //} else if (string.Compare(portKey, "db" + paramKey + ".param", true) == 0) { try { if (getCrmIntegrationCollection.ContainsKey("db" + paramKey + ".user-data.key")) { result.CrmDbData.ParameterName.Add(getCrmIntegrationCollection[portKey].ToString() , Convert.ToString(getCrmIntegrationCollection["db" + paramKey + ".user-data.key"])); } } catch (Exception paramValue) { logger.Error("No value configured for given Parameter " + getCrmIntegrationCollection[portKey].ToString() + " " + paramValue.ToString()); } // paramKey++; } else if (string.Compare(portKey, "db" + paramKey + ".attribute", true) == 0) { try { if (getCrmIntegrationCollection.ContainsKey("db" + paramKey + ".attribute.param")) { result.CrmDbData.ParameterValue.Add(getCrmIntegrationCollection[portKey].ToString() , Convert.ToString(getCrmIntegrationCollection["db" + paramKey + ".attribute.param"])); } } catch (Exception paramValue) { logger.Error("No value configured for given Parameter " + getCrmIntegrationCollection[portKey].ToString() + " " + paramValue.ToString()); } // paramKey++; } } //result.CrmDbData.AttributeFilter = value.ToString().Split(new char[] { ',' }); ; getCrmIntegrationCollection.Clear(); value = string.Empty; } } } } catch (Exception generalException) { logger.Error("Error occurred while reading KVP's for File Popup " + generalException.ToString()); } return(result); }
public void InitializeIntegration(ConfService confProtocol, string applicationName, System.Collections.Generic.Dictionary <string, bool> integrationMediaList = null) { Thread newThread = new Thread(() => { _logger.Info("**********************************************************************************************************************"); _logger.Info("Pointel.Integration.Core :" + Assembly.GetExecutingAssembly().GetName().Version); _logger.Info("***********************************************************************************************************************"); _logger.Info("Retrieving Values from Application third party integration start."); ReadApplication readApplication = new ReadApplication(); Settings settings = Settings.GetInstance(); try { readApplication.ReadIntegrationDecisionKeyCollections(); callData = readApplication.ReadFileIntegrationKeyCollections(confProtocol, applicationName); readApplication.ReadApplicationValue(confProtocol, applicationName); newCallDataProvider = new CallDataProviders(); if (settings.EnableFileCommunication) { InitFileIntegration(); } else { _logger.Warn("File Communication Disabled"); } if (settings.EnablePortCommunication) { try { portSubscriber = new PortSubscriber(); portSubscriber.Subscribe(newCallDataProvider); callData.PortData.Decision = IntegrationAction.Open; newCallDataProvider.NewCallData(callData); } catch (Exception ex) { _logger.Error("Error occurred while subcribe Port as " + ex.Message); } } else { _logger.Info("Port integration disabled."); } if (settings.EnablePipeCommunication) { InitPipeIntegration(); } else { _logger.Info("Pipe integration disabled."); } if (settings.EnableURLCommunication) { InitWebUrlIntegration(integrationMediaList); } else { _logger.Info("URL integration disabled."); } if (settings.EnableCrmDbCommunication) { try { crmDbSubscriber = new CrmDbSubscriber(); crmDbSubscriber.Subscribe(newCallDataProvider); } catch (Exception ex) { _logger.Error("Error occurred while subcribe DB Communication as " + ex.Message); } } else { _logger.Info("Database integration disabled"); } if (ConfigContainer.Instance().AllKeys.Contains("voice.enable.agent-activity-db-integration") && ConfigContainer.Instance().GetAsBoolean("voice.enable.agent-activity-db-integration")) { try { var agentActivitySubscriber = new AgentActivitySubscriber(); agentActivitySubscriber.Subscribe(newCallDataProvider); } catch (Exception ex) { _logger.Error("Error occurred while subcribe DB Communication as " + ex.Message); } } else { _logger.Info("Agent interaction activity disabled"); } ISoftphoneListener softSubscriber = new DesktopMessenger(); SoftPhone softPhone = new SoftPhone(); softPhone.Subscribe(softSubscriber, Softphone.Voice.SoftPhoneSubscriber.Integration); StartHIMMSIntegration(); } catch (Exception generalException) { _logger.Error("Error occurred while reading integration part from the application " + generalException.ToString()); } }); newThread.Start(); }
public void InitializeContact(string username, string agetnId, string placeId, int tenantDbId, string contactAppName, ConfService comObject, IPluginCallBack listener, int ixnProxyId) { ContactService contactService = new ContactService(); OutputValues output = contactService.ConnectUCS(comObject, tenantDbId, contactAppName, ContactServerStateNotification); //ContactDataContext.GetInstance().UserName = username; // ContactDataContext.GetInstance().PlaceID = placeId; //ContactDataContext.GetInstance().AgentID = agetnId; ContactDataContext.messageToClient = listener; ContactDataContext.GetInstance().IxnProxyId = ixnProxyId; if (output.MessageCode == "200") { //ContactDataContext.ComObject = comObject; //ContactDataContext.GetInstance().ApplicationName = applicationName; // ConfigContainer.Instance().TenantDbId =ConfigContainer.Instance().TenantDbId; ConfigContainer.Instance().TenantDbId = tenantDbId; //ComClass.GetInstance().GetContactBusinessAttribute("ContactAttributes"); if (ConfigContainer.Instance().AllKeys.Contains("contactBusinessAttribute")) { ContactDataContext.GetInstance().ContactValidAttribute = (Dictionary <string, string>)ConfigContainer.Instance().GetValue("contactBusinessAttribute"); } ContactDataContext.GetInstance().ContactDisplayedAttributes = ReadKey.ReadConfigKeys("contact.displayed-attributes", new string[] { "Title", "FirstName", "LastName", "PhoneNumber", "EmailAddress" }, ContactDataContext.GetInstance().ContactValidAttribute.Keys.ToList()); ContactDataContext.GetInstance().ContactMandatoryAttributes = ReadKey.ReadConfigKeys("contact.mandatory-attributes", new string[] { "Title", "FirstName", "LastName", "PhoneNumber", "EmailAddress" }, ContactDataContext.GetInstance().ContactDisplayedAttributes); ContactDataContext.GetInstance().ContactMultipleValueAttributes = ReadKey.ReadConfigKeys("contact.multiple-value-attributes", new string[] { "PhoneNumber", "EmailAddress" }, ContactDataContext.GetInstance().ContactDisplayedAttributes); ComClass.GetInstance().GetAllValues(); } }
public OutputValues Initialize(string place, string userName, ConfService configObject, string tServerApplicationName, string agentLoginId, string agentPassword, CfgSwitch switchType) { Settings.GetInstance().AgentLoginID = agentLoginId; Settings.GetInstance().Switch = switchType; Settings.GetInstance().SwitchTypeName = switchType.Type == CfgSwitchType.CFGLucentDefinityG3 ? "avaya" : ((switchType.Type == CfgSwitchType.CFGNortelDMS100 || switchType.Type == CfgSwitchType.CFGNortelMeridianCallCenter) ? "nortel" : "avaya"); var output = OutputValues.GetInstance(); var connect = new VoiceConnectionManager(); var read = new ReadConfigObjects(); //Print DLL Info try { Assembly assemblyVersion = Assembly.LoadFrom(Environment.CurrentDirectory + @"\Pointel.Softphone.Voice.dll"); if (assemblyVersion != null) { logger.Debug("*********************************************"); logger.Debug(assemblyVersion.GetName().Name + " : " + assemblyVersion.GetName().Version); logger.Debug("*********************************************"); } } catch (Exception versionException) { logger.Error("Error occurred while getting the version of the SoftPhone library " + versionException.ToString()); } try { //ConnectionSettings.comObject = configObject; //Get Place details Settings.GetInstance().PlaceName = place; Settings.GetInstance().UserName = userName; output = read.ReadPlaceObject(); //Read Person Details //output = read.ReadPersonObject(userName); read.ReadApplicationObject(tServerApplicationName, agentLoginId); } catch (Exception inputException) { logger.Error("Error occurred while login into SoftPhone " + inputException); } //Input Validation CheckException.CheckLoginValues(place, userName); if (output.MessageCode == "200") { //Register with TServer output = connect.ConnectTServer(Settings.GetInstance().PrimaryApplication, Settings.GetInstance().SecondaryApplication); if (output.MessageCode != "200") { logger.Debug("Protocol is not opened, try to connect with server config keys"); if (Settings.GetInstance().VoiceProtocol != null && Settings.GetInstance().VoiceProtocol.State != ChannelState.Opened) { if (!string.IsNullOrEmpty(Settings.GetInstance().PrimaryTServerName)) { logger.Debug("Primary TServer name : " + Settings.GetInstance().PrimaryTServerName); Settings.GetInstance().PrimaryApplication = read.ReadApplicationLevelServerDetails(Settings.GetInstance().PrimaryTServerName); } if (!string.IsNullOrEmpty(Settings.GetInstance().SecondaryTServerName)) { logger.Debug("Secondary TServer name : " + Settings.GetInstance().SecondaryTServerName); Settings.GetInstance().SecondaryApplication = read.ReadApplicationLevelServerDetails(Settings.GetInstance().SecondaryTServerName); if (Settings.GetInstance().PrimaryApplication == null && Settings.GetInstance().SecondaryApplication != null) { logger.Debug("Primary server is not configured, Secondary server is assigned to Primary server"); Settings.GetInstance().PrimaryApplication = Settings.GetInstance().SecondaryApplication; } } else { logger.Debug("secondary application name is not configured"); if (Settings.GetInstance().SecondaryApplication == null) { logger.Debug("Secondary server is not configured, primary server is assigned to secondary server"); Settings.GetInstance().SecondaryApplication = Settings.GetInstance().PrimaryApplication; } } //connect with server names from options tab output = connect.ConnectTServer(Settings.GetInstance().PrimaryApplication, Settings.GetInstance().SecondaryApplication); } else { return(output); } } } return(output); }
/// <summary> /// Initializes the statistics. /// </summary> /// <param name="UserName">Name of the user.</param> /// <param name="ApplicationName">Name of the application.</param> /// <param name="ConfService">The conf service.</param> /// <param name="AIDQueue"></param> public void InitializeStatistics(string UserName, string ApplicationName, ConfService ConfService, string AIDQueue, string source) { // try // { // StatisticsBase.GetInstance().isPlugin = true; // logger.Debug("PluginContainer : InitializeStatistics : Method Entry"); // WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent(); // if (windowsIdentity != null) // Settings.GetInstance().logUserName = windowsIdentity.Name.Split('\\')[1]; // StatisticsBase.GetInstance().StatSource = Pointel.Statistics.Core.Utility.StatisticsEnum.StatSource.StatServer.ToString(); // Output = stat.ConfigConnectionEstablish(ApplicationName, ConfService, Settings.GetInstance().logUserName, UserName, source); // if (Output.MessageCode == "200") // { // logger.Warn("PluginContainer : InitializeStatistics : Config Connection Establish success"); // Settings.GetInstance().UserName = UserName; // Settings.GetInstance().ApplicationName = ApplicationName; // string op = stat.CheckUserPrevileges(Settings.GetInstance().UserName); // string[] Authenticated = op.Split(','); // isAuthenticated = Convert.ToBoolean(Authenticated[0]); // // // Settings.GetInstance().DictEnableDisableChannels = stat.GetEnableDisableChannels(); // Settings.GetInstance().DictErrorValues = stat.GetErrorValues(); // Settings.GetInstance().ApplicationType = Pointel.Statistics.Core.Utility.StatisticsEnum.StatSource.StatServer.ToString(); // if (isAuthenticated) // { // logger.Warn("PluginContainer : InitializeStatistics : IsAuthenticated : True"); // Settings.GetInstance().Theme = "Outlook8"; // if (messageToClient == null) // { // stat.SaveQueues(AIDQueue); // // bool valid = stat.StartStatistics(Settings.GetInstance().UserName, Settings.GetInstance().ApplicationName,false); // } // else // { // MainWindow mainview = new MainWindow(); // StatTickerFive.ViewModels.MainWindowViewModel mainVm = // new MainWindowViewModel(); // mainview.DataContext = mainVm; // mainview.Show(); // Window window = Application.Current.Windows[0]; // if (window != null) // mainVm.dragwindowInitialize(mainview); // } // } // else // { // logger.Warn("PluginContainer : InitializeStatistics : IsAuthenticated : False"); // Views.MessageBox msgbox = new Views.MessageBox(); // MessageBoxViewModel mboxviewmodel = new MessageBoxViewModel("Problem Encountered in Statistics", Settings.GetInstance().DictErrorValues["user.authorization"].ToString(), msgbox, "MainWindow", Settings.GetInstance().Theme); // msgbox.DataContext = mboxviewmodel; // msgbox.ShowDialog(); // stat.ShowGadgetState(Pointel.Statistics.Core.Utility.StatisticsEnum.GadgetState.Closed); // } // } // else // { // if (StatisticsBase.GetInstance().IsMandatoryFieldsMissing) // { // string Message = string.Empty; // int CurrentErrrorCount = 1; // foreach (string MissingKeys in StatisticsBase.GetInstance().ListMissedValues) // { // if (CurrentErrrorCount <= (StatisticsBase.GetInstance().ErrorCount == 0 ? 3 : StatisticsBase.GetInstance().ErrorCount)) // { // if (Message == string.Empty) // Message = "'" + MissingKeys + "' value is Missing"; // else // Message = Message + "\n '" + MissingKeys + "' value is Missing"; // } // CurrentErrrorCount++; // } // Views.MessageBox msgbox = new Views.MessageBox(); // MessageBoxViewModel mboxviewmodel = new MessageBoxViewModel("Problem Encountered in Statistics", Message, msgbox, "MainWindow", Settings.GetInstance().Theme); // msgbox.DataContext = mboxviewmodel; // msgbox.ShowDialog(); // stat.ShowGadgetState(Pointel.Statistics.Core.Utility.StatisticsEnum.GadgetState.Closed); // } // } // } // catch (Exception generalException) // { // logger.Error("InitializeStatistics Method: Error occured while Initialize Statistics " + // generalException.ToString()); // } // finally // { // logger.Debug("PluginContainer : InitializeStatistics : Method Exit"); // } }