private void cxBtnOk_Click(object sender, EventArgs e) { string sSQLServOldPwd, sSQLServNewPwd; if (cxTextEditOldPwd.EditValue == null || Convert.ToString(cxTextEditOldPwd.EditValue).Trim() == "") { oSecMainFrm.MessageDlg("Old Password cannot be blank...", "mtWarning", "mbOk", 0); return; } if (cxTextEditNewPwd.EditValue == null || Convert.ToString(cxTextEditNewPwd.EditValue).Trim() == "") { oSecMainFrm.MessageDlg("Please enter the new password.", "mtWarning", "mbOk", 0); return; } if (cxTextEditConfirmPwd.EditValue == null || Convert.ToString(cxTextEditConfirmPwd.EditValue).Trim() == "") { oSecMainFrm.MessageDlg("Please enter the confirm password.", "mtWarning", "mbOk", 0); return; } try { sSQLServOldPwd = XpedeonCrypto.XpedeonServerDecrypt(PCFSecurity.oSecDM.sSuperUserPassword); } catch (Exception ex) { throw ex; } if (!Convert.ToString(cxTextEditOldPwd.EditValue).Equals(sSQLServOldPwd, StringComparison.InvariantCulture)) { oSecMainFrm.MessageDlg("Old Password does not match.", "mtWarning", "mbOk", 0); return; } if (Convert.ToString(cxTextEditNewPwd.EditValue) != Convert.ToString(cxTextEditConfirmPwd.EditValue)) { oSecMainFrm.MessageDlg("New Password and Confirm Password dont match.", "mtWarning", "mbOk", 0); return; } try { sSQLServNewPwd = XpedeonCrypto.XpedeonServerEncrypt(Convert.ToString(cxTextEditNewPwd.EditValue)); UpdateSQLServPassword(Convert.ToString(cxTextEditUserName.EditValue), Convert.ToString(cxTextEditNewPwd.EditValue), Convert.ToString(cxTextEditOldPwd.EditValue)); string sAppPath = Application.StartupPath.ToString(); System.Xml.XmlDocument xdDataBaseConnection = new System.Xml.XmlDocument(); xdDataBaseConnection.Load(@sAppPath + "\\PCFSecurityAccessInfo.xml"); if (xdDataBaseConnection.GetElementsByTagName("PASSWORD").Count > 0) { // Get the target node using XPath System.Xml.XmlNode xnOldPwd = xdDataBaseConnection.SelectSingleNode("//PASSWORD"); // Create a new comment node with XML content of the target node System.Xml.XmlComment xcOldPwd = xdDataBaseConnection.CreateComment(xnOldPwd.OuterXml); // Replace the target node with the comment xdDataBaseConnection.DocumentElement.ReplaceChild(xcOldPwd, xnOldPwd); // Create a new node System.Xml.XmlElement xeNewPwd = xdDataBaseConnection.CreateElement("PASSWORD"); xeNewPwd.InnerText = sSQLServNewPwd; // Add the node to the document xdDataBaseConnection.DocumentElement.AppendChild(xeNewPwd); } xdDataBaseConnection.Save(@sAppPath + "\\PCFSecurityAccessInfo.xml"); PCFSecurity.oSecDM.DataModuleCreate(); oSecMainFrm.MessageDlg("Password Changed Successfully.", "mtConfirmation", "mbOk", 0); this.DialogResult = System.Windows.Forms.DialogResult.OK; } catch (Exception ex) { throw ex; } }
private Dictionary <string, object> GetPCFSecAccessInfo() { string sAppPath = Application.StartupPath.ToString(); XmlDocument xdDataBaseConnection = new XmlDocument(); Dictionary <string, object> oResult = null; try { xdDataBaseConnection.Load(@sAppPath + "\\PCFSecurityAccessInfo.xml"); } catch (Exception ex) { /*if (ex is System.IO.FileNotFoundException) * throw ex; * else*/ if (ex is System.Xml.XmlException) { oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml : " + ex.Message, "mtError", "mbOk", 0); return(oResult); } else { throw ex; } } if (xdDataBaseConnection.GetElementsByTagName("DB").Count == 0) { oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain DB tag.", "mtError", "mbOk", 0); return(oResult); } if (xdDataBaseConnection.GetElementsByTagName("HOSTNAME").Count == 0) { oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain HOSTNAME tag.", "mtError", "mbOk", 0); return(oResult); } if (xdDataBaseConnection.GetElementsByTagName("DB_NAME").Count == 0) { oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain DB_NAME tag.", "mtError", "mbOk", 0); return(oResult); } if (xdDataBaseConnection.GetElementsByTagName("USERNAME").Count == 0) { oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain USERNAME tag.", "mtError", "mbOk", 0); return(oResult); } if (xdDataBaseConnection.GetElementsByTagName("USERID").Count == 0) { oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain USERID tag.", "mtError", "mbOk", 0); return(oResult); } if (xdDataBaseConnection.GetElementsByTagName("PASSWORD").Count == 0) { oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain PASSWORD tag.", "mtError", "mbOk", 0); return(oResult); } oResult = new Dictionary <string, object>(); string sDB = (xdDataBaseConnection.GetElementsByTagName("DB"))[0].InnerText; oResult.Add("DB", sDB); string sDataSource = (xdDataBaseConnection.GetElementsByTagName("HOSTNAME"))[0].InnerText; oResult.Add("HOSTNAME", sDataSource); string sInitialCatalog = (xdDataBaseConnection.GetElementsByTagName("DB_NAME"))[0].InnerText; oResult.Add("DB_NAME", sInitialCatalog); string sRegUserName = (xdDataBaseConnection.GetElementsByTagName("USERNAME"))[0].InnerText; oResult.Add("USERNAME", sRegUserName); if (xdDataBaseConnection.GetElementsByTagName("WORKING_DIRECTORY").Count > 0) { string sWorkDir = (xdDataBaseConnection.GetElementsByTagName("WORKING_DIRECTORY"))[0].InnerText; oResult.Add("WORK_DIR", sWorkDir); } string sUserID = (xdDataBaseConnection.GetElementsByTagName("USERID"))[0].InnerText; oResult.Add("USERID", sUserID); string sPassword = (xdDataBaseConnection.GetElementsByTagName("PASSWORD"))[0].InnerText; oResult.Add("PASSWORD", sPassword); try { sPassword = XpedeonCrypto.XpedeonServerDecrypt(sPassword); } catch (Exception ex) { throw ex; } //string connString = "Data Source=" + sDataSource + ";Initial Catalog=" + sInitialCatalog + ";User ID=" + sUserID + ";Password="******"Data Source=" + sDataSource + ";Initial Catalog=" + sInitialCatalog; if (sDB == "S" && !string.IsNullOrWhiteSpace(sRegUserName)) { connString += ";User ID=" + sRegUserName.ToLower() + ";Password=site"; } else { connString += ";User ID=" + sUserID + ";Password="******"CONN", connString); return(oResult); }