private void btnGetCSQsRealtimeData_Click(object sender, EventArgs e) { Trace.TraceInformation("Enter."); Trace.TraceInformation("Enter."); if (ucWebServerSettings.txtWebServerIPAddress.Text == String.Empty) { MessageBox.Show("No valid IP Address provided for the Web Server.", Application.ProductName, MessageBoxButtons.OK); return; } if (ucWebServerSettings.txtContactDataCollectionPort.Text == String.Empty) { MessageBox.Show("No valid Contact Data Collection Port provided for the Web Server.", Application.ProductName, MessageBoxButtons.OK); return; } if (ucUCCXInformation.txtUCCXAdminUser.Text == String.Empty) { MessageBox.Show("No valid UCCX Admin User provided in UCCX Information.", Application.ProductName, MessageBoxButtons.OK); return; } if (ucUCCXInformation.txtUCCXAdminPassword.Text == String.Empty) { MessageBox.Show("No valid UCCX Admin Password provided in UCCX Information.", Application.ProductName, MessageBoxButtons.OK); return; } try { String sURL = "http://" + ucWebServerSettings.txtWebServerIPAddress.Text + ":" + ucWebServerSettings.txtContactDataCollectionPort.Text; com.workflowconcepts.utilities.AESSymmetricEncryption endDec = new com.workflowconcepts.utilities.AESSymmetricEncryption(Constants.ENCRYPTION_PASSWORD, Constants.ENCRYPTION_SALT); String sToken = System.Text.RegularExpressions.Regex.Replace(endDec.Encrypt(ucUCCXInformation.txtUCCXAdminUser.Text) + endDec.Encrypt(ucUCCXInformation.txtUCCXAdminPassword.Text), "[^A-Za-z0-9]", ""); endDec = null; sURL = sURL + "/uccxrealtimedata?operation=getcsqdata&token=" + sToken; Trace.TraceInformation("sURL = " + sURL); System.Diagnostics.Process.Start(sURL); } catch (Exception ex) { Trace.TraceError("Exception:" + ex.Message + Environment.NewLine + "StackTrace:" + ex.StackTrace); } }
public ApplicationTypes.ApplicationSettingsReturn CreateDefaultSettings() { Trace.TraceInformation("Enter."); try { _encDec = new com.workflowconcepts.utilities.AESSymmetricEncryption(Constants.ENCRYPTION_PASSWORD, Constants.ENCRYPTION_SALT); System.Xml.XmlWriterSettings _XMLSettings = new System.Xml.XmlWriterSettings(); _XMLSettings.Indent = true; System.Xml.XmlWriter _XMLWriter = System.Xml.XmlWriter.Create(APPLICATIONSETTINGSFILEPATH + "\\" + Constants.APPLICATIONSETTINGSFILENAME, _XMLSettings); _XMLWriter.WriteStartDocument(); _XMLWriter.WriteStartElement("ApplicationSettings"); _XMLWriter.WriteStartElement("WebServer"); _XMLWriter.WriteAttributeString("IP", Constants.IPAddress); _XMLWriter.WriteAttributeString("Port", Constants.WEBSERVER_PORT); _XMLWriter.WriteAttributeString("Prefix", Constants.WEBSERVER_PREFIX); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("EmailNotifications"); _XMLWriter.WriteAttributeString("EmailFrom", _EmailFrom); _XMLWriter.WriteAttributeString("EmailTo", _EmailTo); _XMLWriter.WriteAttributeString("SMTPServer", _EmailSMTPServer); _XMLWriter.WriteAttributeString("SMTPPort", _EmailSMTPPort); _XMLWriter.WriteAttributeString("SMTPUser", _encDec.Encrypt(_EmailSMTPUserName)); _XMLWriter.WriteAttributeString("SMTPPassword", _encDec.Encrypt(_EmailSMTPPassword)); _XMLWriter.WriteAttributeString("OnFailure", _EmailOnFailure.ToString()); _XMLWriter.WriteAttributeString("OnSuccess", _EmailOnSuccess.ToString()); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("CallbackRecords"); _XMLWriter.WriteAttributeString("MaximumNumberOfDays", Constants.MAXIMUM_NUMBER_OF_DAYS.ToString()); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("BasicInsertionThrottling"); _XMLWriter.WriteAttributeString("Enabled", _BasicInsertionThrottling_Enabled.ToString()); _XMLWriter.WriteAttributeString("MaximumAtATime", _BasicInsertionThrottling_MaximumRecordsAtATime.ToString()); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("API"); _XMLWriter.WriteAttributeString("NumberOfHandlerThreads", Constants.NUMBER_OF_HANDLER_THREADS.ToString()); _XMLWriter.WriteAttributeString("HandlerThreadsSleep", Constants.API_HANDLER_THREADS_SLEEP.ToString()); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("Debug"); _XMLWriter.WriteAttributeString("Enabled", "true"); _XMLWriter.WriteAttributeString("Level", "verbose"); _XMLWriter.WriteAttributeString("RetainUnit", "Files"); _XMLWriter.WriteAttributeString("RetainValue", "100"); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteEndDocument(); _XMLWriter.Flush(); _XMLWriter.Close(); _XMLWriter = null; _XMLSettings = null; _encDec = null; return(ApplicationTypes.ApplicationSettingsReturn.SUCCESS); } catch (Exception ex) { _encDec = null; Trace.TraceError("Exception:" + ex.Message + Environment.NewLine + "StackTrace:" + ex.StackTrace); return(ApplicationTypes.ApplicationSettingsReturn.ERROR); } }
public ApplicationTypes.ApplicationSettingsReturn Load() { Trace.TraceInformation("Enter."); try { if (!System.IO.File.Exists(APPLICATIONSETTINGSFILEPATH + "\\" + Constants.APPLICATIONSETTINGSFILENAME)) { Trace.TraceWarning(APPLICATIONSETTINGSFILEPATH + "\\" + Constants.APPLICATIONSETTINGSFILENAME + " was not found."); _LastOperationReturn = ApplicationTypes.ApplicationSettingsReturn.FILE_NOT_FOUND; return(_LastOperationReturn); } } catch (Exception ex) { Trace.TraceError("Exception:" + ex.Message + Environment.NewLine + "StackTrace:" + ex.StackTrace); _LastOperationReturn = ApplicationTypes.ApplicationSettingsReturn.ERROR; return(_LastOperationReturn); } try { _encDec = new com.workflowconcepts.utilities.AESSymmetricEncryption(Constants.ENCRYPTION_PASSWORD, Constants.ENCRYPTION_SALT); System.Xml.XmlDocument xmlDoc = null; System.Xml.XmlNodeReader reader = null; xmlDoc = new System.Xml.XmlDocument(); xmlDoc.Load(APPLICATIONSETTINGSFILEPATH + "\\" + Constants.APPLICATIONSETTINGSFILENAME); reader = new System.Xml.XmlNodeReader(xmlDoc); while (reader.Read()) { switch (reader.NodeType) { case System.Xml.XmlNodeType.Element: if (reader.Name.Equals("WebServer")) { _WebServerIP = reader.GetAttribute("IP"); _WebServerPort = reader.GetAttribute("Port"); _WebServerPrefix = reader.GetAttribute("Prefix"); _WebServerDataCollectionPort = reader.GetAttribute("DataCollectionPort"); } if (reader.Name.Equals("EmailNotifications")) { _EmailFrom = reader.GetAttribute("EmailFrom"); _EmailTo = reader.GetAttribute("EmailTo"); _EmailSMTPServer = reader.GetAttribute("SMTPServer"); _EmailSMTPPort = reader.GetAttribute("SMTPPort"); try { _EmailSMTPUserName = _encDec.Decrypt(reader.GetAttribute("SMTPUser")); } catch { _EmailSMTPUserName = string.Empty; } try { _EmailSMTPPassword = _encDec.Decrypt(reader.GetAttribute("SMTPPassword")); } catch { _EmailSMTPPassword = string.Empty; } try { _EmailOnFailure = Boolean.Parse(reader.GetAttribute("OnFailure")); } catch { _EmailOnFailure = true; } try { _EmailOnSuccess = Boolean.Parse(reader.GetAttribute("OnSuccess")); } catch { _EmailOnSuccess = false; } } if (reader.Name.Equals("UCCX")) { _UCCXNode1IPAddress = reader.GetAttribute("Node1IPAddress"); _UCCXNode2IPAddress = reader.GetAttribute("Node2IPAddress"); _UCCXApplicationPort = reader.GetAttribute("ApplicationPort"); _UCCXRealtimeDataPort = reader.GetAttribute("RealtimeDataPort"); _UCCXAuthorizationPrefix = reader.GetAttribute("AuthorizationPrefix"); _UCCXCallbackPrefix = reader.GetAttribute("CallbackPrefix"); _UCCXNumberOfIVRPorts = reader.GetAttribute("NumberOfIVRPorts"); _UCCXMaxIVRPortUsagePercent = reader.GetAttribute("MaxIVRPortUsagePercent"); try { int iUCCXMaxLicenseUsagePercent = int.Parse(_UCCXMaxIVRPortUsagePercent); if (iUCCXMaxLicenseUsagePercent < 0) { _UCCXMaxIVRPortUsagePercent = "0"; } if (iUCCXMaxLicenseUsagePercent >= 100) { _UCCXMaxIVRPortUsagePercent = "99"; } } catch { _UCCXMaxIVRPortUsagePercent = "0"; } try { int iUccxNumberOfLicenses = int.Parse(_UCCXNumberOfIVRPorts); if (iUccxNumberOfLicenses < 0) { _UCCXNumberOfIVRPorts = "0"; } } catch { _UCCXNumberOfIVRPorts = "0"; } try { _UCCXAdminUser = _encDec.Decrypt(reader.GetAttribute("AdminUser")); _EncryptedUCCXAdminUser = reader.GetAttribute("AdminUser"); } catch { _UCCXAdminUser = String.Empty; } try { _UCCXAdminPassword = _encDec.Decrypt(reader.GetAttribute("AdminPassword")); _EncryptedUCCXAdminPassword = reader.GetAttribute("AdminPassword"); } catch { _UCCXAdminPassword = String.Empty; } } if (reader.Name.Equals("CallbackRecords")) { try { _MaximumNumberOfDays = int.Parse(reader.GetAttribute("MaximumNumberOfDays")); if (_MaximumNumberOfDays < 0) { _MaximumNumberOfDays = Constants.MAXIMUM_NUMBER_OF_DAYS; } } catch { _MaximumNumberOfDays = Constants.MAXIMUM_NUMBER_OF_DAYS; } try { _MaximumNumberOfAttempts = int.Parse(reader.GetAttribute("MaximumNumberOfAttempts")); if (_MaximumNumberOfAttempts <= 0) { _MaximumNumberOfAttempts = Constants.MAXIMUM_NUMBER_OF_ATTEMPTS; } } catch { _MaximumNumberOfAttempts = Constants.MAXIMUM_NUMBER_OF_ATTEMPTS; } try { _MinimumIntervalBetweenRetries = int.Parse(reader.GetAttribute("MinimumIntervalBetweenRetries")); if (_MinimumIntervalBetweenRetries <= 0) { _MinimumIntervalBetweenRetries = Constants.MINIMUM_INTERVAL_BETWEEN_RETRIES; } } catch { _MinimumIntervalBetweenRetries = Constants.MINIMUM_INTERVAL_BETWEEN_RETRIES; } } if (reader.Name.Equals("BasicInsertionThrottling")) { try { _BasicInsertionThrottling_Enabled = Boolean.Parse(reader.GetAttribute("Enabled")); } catch { _BasicInsertionThrottling_Enabled = false; } try { _BasicInsertionThrottling_MaximumRecordsAtATime = int.Parse(reader.GetAttribute("MaximumAtATime")); if (_BasicInsertionThrottling_MaximumRecordsAtATime <= 0) { _BasicInsertionThrottling_MaximumRecordsAtATime = Constants.BASIC_INSERTION_THROTTLING_MAXIMUM_RECORDS_AT_A_TIME; } } catch { _BasicInsertionThrottling_MaximumRecordsAtATime = Constants.BASIC_INSERTION_THROTTLING_MAXIMUM_RECORDS_AT_A_TIME; } } if (reader.Name.Equals("API")) { try { _NumberOfAPIThreads = int.Parse(reader.GetAttribute("NumberOfHandlerThreads")); if (_NumberOfAPIThreads <= 0) { _NumberOfAPIThreads = Constants.NUMBER_OF_HANDLER_THREADS; } } catch { _NumberOfAPIThreads = Constants.NUMBER_OF_HANDLER_THREADS; } try { _APIHandlerThreadsSleep = int.Parse(reader.GetAttribute("HandlerThreadsSleep")); if (_APIHandlerThreadsSleep <= 0) { _APIHandlerThreadsSleep = Constants.API_HANDLER_THREADS_SLEEP; } } catch { _APIHandlerThreadsSleep = Constants.API_HANDLER_THREADS_SLEEP; } } if (reader.Name.Equals("Debug")) { try { _DebugEnabled = Boolean.Parse(reader.GetAttribute("Enabled")); } catch { _DebugEnabled = false; } _DebugLevel = reader.GetAttribute("Level"); _DebugRetainUnit = reader.GetAttribute("RetainUnit"); _DebugRetainValue = reader.GetAttribute("RetainValue"); } break; } } reader.Close(); reader = null; xmlDoc = null; _encDec = null; _LastOperationReturn = ApplicationTypes.ApplicationSettingsReturn.SUCCESS; return(_LastOperationReturn); } catch (Exception ex) { _encDec = null; Trace.TraceError("Exception:" + ex.Message + Environment.NewLine + "StackTrace:" + ex.StackTrace); _LastOperationReturn = ApplicationTypes.ApplicationSettingsReturn.ERROR; return(_LastOperationReturn); } }
public ApplicationTypes.ApplicationSettingsReturn Save() { Trace.TraceInformation("Enter."); try { _encDec = new com.workflowconcepts.utilities.AESSymmetricEncryption(Constants.ENCRYPTION_PASSWORD, Constants.ENCRYPTION_SALT); System.Xml.XmlWriterSettings _XMLSettings = new System.Xml.XmlWriterSettings(); _XMLSettings.Indent = true; System.Xml.XmlWriter _XMLWriter = System.Xml.XmlWriter.Create(APPLICATIONSETTINGSFILEPATH + "\\" + Constants.APPLICATIONSETTINGSFILENAME, _XMLSettings); _XMLWriter.WriteStartDocument(); _XMLWriter.WriteStartElement("ApplicationSettings"); _XMLWriter.WriteStartElement("WebServer"); _XMLWriter.WriteAttributeString("IP", WebServerIP); _XMLWriter.WriteAttributeString("Port", WebServerPort); _XMLWriter.WriteAttributeString("Prefix", WebServerPrefix); _XMLWriter.WriteAttributeString("DataCollectionPort", WebServerDataCollectionPort); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("EmailNotifications"); _XMLWriter.WriteAttributeString("EmailFrom", _EmailFrom); _XMLWriter.WriteAttributeString("EmailTo", _EmailTo); _XMLWriter.WriteAttributeString("SMTPServer", _EmailSMTPServer); _XMLWriter.WriteAttributeString("SMTPPort", _EmailSMTPPort); _XMLWriter.WriteAttributeString("SMTPUser", _encDec.Encrypt(_EmailSMTPUserName)); _XMLWriter.WriteAttributeString("SMTPPassword", _encDec.Encrypt(_EmailSMTPPassword)); _XMLWriter.WriteAttributeString("OnFailure", _EmailOnFailure.ToString()); _XMLWriter.WriteAttributeString("OnSuccess", _EmailOnSuccess.ToString()); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("UCCX"); _XMLWriter.WriteAttributeString("Node1IPAddress", _UCCXNode1IPAddress); _XMLWriter.WriteAttributeString("Node2IPAddress", _UCCXNode2IPAddress); _XMLWriter.WriteAttributeString("ApplicationPort", _UCCXApplicationPort); _XMLWriter.WriteAttributeString("RealtimeDataPort", _UCCXRealtimeDataPort); _XMLWriter.WriteAttributeString("AuthorizationPrefix", _UCCXAuthorizationPrefix); _XMLWriter.WriteAttributeString("CallbackPrefix", _UCCXCallbackPrefix); _XMLWriter.WriteAttributeString("AdminUser", _encDec.Encrypt(_UCCXAdminUser)); _XMLWriter.WriteAttributeString("AdminPassword", _encDec.Encrypt(_UCCXAdminPassword)); _XMLWriter.WriteAttributeString("NumberOfIVRPorts", _UCCXNumberOfIVRPorts); _XMLWriter.WriteAttributeString("MaxIVRPortUsagePercent", _UCCXMaxIVRPortUsagePercent); _XMLWriter.WriteFullEndElement(); _EncryptedUCCXAdminUser = _encDec.Encrypt(_UCCXAdminUser); _EncryptedUCCXAdminPassword = _encDec.Encrypt(_UCCXAdminPassword); _XMLWriter.WriteStartElement("CallbackRecords"); _XMLWriter.WriteAttributeString("MaximumNumberOfDays", _MaximumNumberOfDays.ToString()); _XMLWriter.WriteAttributeString("MaximumNumberOfAttempts", _MaximumNumberOfAttempts.ToString()); _XMLWriter.WriteAttributeString("MinimumIntervalBetweenRetries", _MinimumIntervalBetweenRetries.ToString()); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("BasicInsertionThrottling"); _XMLWriter.WriteAttributeString("Enabled", _BasicInsertionThrottling_Enabled.ToString()); _XMLWriter.WriteAttributeString("MaximumAtATime", _BasicInsertionThrottling_MaximumRecordsAtATime.ToString()); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("API"); _XMLWriter.WriteAttributeString("NumberOfHandlerThreads", _NumberOfAPIThreads.ToString()); _XMLWriter.WriteAttributeString("HandlerThreadsSleep", _APIHandlerThreadsSleep.ToString()); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteStartElement("Debug"); _XMLWriter.WriteAttributeString("Enabled", _DebugEnabled.ToString()); _XMLWriter.WriteAttributeString("Level", _DebugLevel); _XMLWriter.WriteAttributeString("RetainUnit", _DebugRetainUnit); _XMLWriter.WriteAttributeString("RetainValue", _DebugRetainValue); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteFullEndElement(); _XMLWriter.WriteEndDocument(); _XMLWriter.Flush(); _XMLWriter.Close(); _XMLWriter = null; _XMLSettings = null; _encDec = null; return(ApplicationTypes.ApplicationSettingsReturn.SUCCESS); } catch (Exception ex) { _encDec = null; Trace.TraceError("Exception:" + ex.Message + Environment.NewLine + "StackTrace:" + ex.StackTrace); return(ApplicationTypes.ApplicationSettingsReturn.ERROR); } }
public bool GetInformation() { try { String sURL = String.Empty; com.workflowconcepts.utilities.AESSymmetricEncryption endDec = new com.workflowconcepts.utilities.AESSymmetricEncryption(Constants.ENCRYPTION_PASSWORD, Constants.ENCRYPTION_SALT); String sToken = System.Text.RegularExpressions.Regex.Replace(endDec.Encrypt(_ApplicationSettings.UCCXAdminUser) + endDec.Encrypt(_ApplicationSettings.UCCXAdminPassword), "[^A-Za-z0-9]", ""); endDec = null; sURL = "http://" + _ApplicationSettings.WebServerIP + ":" + _ApplicationSettings.WebServerDataCollectionPort + "/" + "uccxrealtimedata" + "?operation=getagentdata&token=" + sToken; //Trace.TraceInformation("sURL = " + sURL); System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(sURL); System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse(); //Trace.TraceInformation("Content type is {0} and length is {1}", response.ContentType, response.ContentLength); System.IO.Stream stream = response.GetResponseStream(); // Pipes the stream to a higher level stream reader with the required encoding format. System.IO.StreamReader streamReader = new System.IO.StreamReader(stream, Encoding.UTF8); String sResponse = streamReader.ReadToEnd(); streamReader.Close(); streamReader.Dispose(); streamReader = null; stream.Close(); stream.Dispose(); stream = null; response.Close(); response = null; request = null; xmlDoc = new XmlDocument(); xmlDoc.LoadXml(sResponse); System.Security.Cryptography.HashAlgorithm algorithm = System.Security.Cryptography.MD5.Create(); //or use SHA256.Create(); byte[] bHash = algorithm.ComputeHash(Encoding.UTF8.GetBytes(sResponse)); StringBuilder sb = new StringBuilder(); foreach (byte b in bHash) { sb.Append(b.ToString("X2")); } _Hash = sb.ToString(); sb = null; return(true); } catch (Exception ex) { Trace.TraceError("Exception:" + ex.Message + Environment.NewLine + "StackTrace:" + ex.StackTrace); _Hash = String.Empty; return(false); } }