/// <summary> /// Binds the active directory settings. /// </summary> private void BindActiveDirectorySettings() { DataTable dataTableADSettings = ApplicationSettings.ProvideActiveDirectorySettings(); if (dataTableADSettings.Rows.Count > 0) { for (int row = 0; row < dataTableADSettings.Rows.Count; row++) { string value = dataTableADSettings.Rows[row]["AD_SETTING_VALUE"].ToString(); switch (dataTableADSettings.Rows[row]["AD_SETTING_KEY"].ToString()) { case Constants.AD_SETTINGKEY_DOMAINCONTROLLER: TextBoxDomainController.Text = value; oldDomainController = value; break; case Constants.AD_SETTINGKEY_DOMAIN_NAME: TextBoxDomainName.Text = value; oldDomainName = value; break; case Constants.AD_SETTINGKEY_AD_USERNAME: TextBoxUserName.Text = value; oldDomainUserName = value; break; case Constants.AD_SETTINGKEY_AD_PASSWORD: string password = value; if (!string.IsNullOrEmpty(password)) { password = Protector.ProvideDecryptedPassword(password); } TextBoxPassword.Attributes.Add("value", password); oldDomainUserPassword = password; break; case Constants.AD_SETTINGKEY_AD_PORT: TextBoxPort.Text = value; oldDomainPort = value; break; case Constants.AD_SETTINGKEY_AD_FULLNAME: DropDownListFullName.SelectedValue = value; oldDomainNameAttribute = value; break; default: break; } } } }
private void BindSMTPSettings() { DbDataReader drSMTPSettings = DataManager.Provider.Users.ProvideSMTPsettings(); try { if (drSMTPSettings.HasRows) { while (drSMTPSettings.Read()) { TextBoxFromAddress.Text = drSMTPSettings["FROM_ADDRESS"] as string; TextBoxCCAddress.Text = drSMTPSettings["CC_ADDRESS"] as string; TextBoxBCCAddress.Text = drSMTPSettings["BCC_ADDRESS"] as string; TextBoxServerIpAddress.Text = drSMTPSettings["SMTP_HOST"] as string; TextBoxPortNumber.Text = drSMTPSettings["SMTP_PORT"].ToString(); TextBoxDomainName.Text = drSMTPSettings["DOMAIN_NAME"] as string; TextBoxUserName.Text = drSMTPSettings["USERNAME"] as string; HiddenFieldValue.Value = drSMTPSettings["REC_SYS_ID"].ToString(); string userPassword = Convert.ToString(drSMTPSettings["PASSWORD"]); if (!string.IsNullOrEmpty(userPassword)) { userPassword = Protector.ProvideDecryptedPassword(userPassword); } TextBoxPassword.Attributes.Add("value", userPassword); string EmailSSL = Convert.ToString(drSMTPSettings["REQUIRE_SSL"], CultureInfo.CurrentCulture); if (!string.IsNullOrEmpty(EmailSSL)) { bool isRequireSSL = bool.Parse(EmailSSL); CheckBoxRequireSSL.Checked = isRequireSSL; } } } } catch (Exception ex) { } }
/// <summary> /// Edits the cost centers. /// </summary> /// <param name="editvalue">The editvalue.</param> /// <remarks></remarks> private void EditDomainDetails(string editvalue) { activeDirectorySelectedValue = "EDIT"; string domainName = Request.Form["__ADNAME"]; if (editvalue == "EDIT") { EditActiveDirectoryValue = domainName; editingDevID = domainName; } if (editvalue == "RESET") { domainName = EditActiveDirectoryValue; editingDevID = EditActiveDirectoryValue; } DataSet dsActiveDirectoryDetails = DataManager.Provider.Settings.ProvideADDetails(domainName); for (int itemIndex = 0; itemIndex < dsActiveDirectoryDetails.Tables[0].Rows.Count; itemIndex++) { string appSettingsKey = dsActiveDirectoryDetails.Tables[0].Rows[itemIndex]["AD_SETTING_KEY"].ToString(); string value = dsActiveDirectoryDetails.Tables[0].Rows[itemIndex]["AD_SETTING_VALUE"].ToString(); switch (appSettingsKey) { case Constants.AD_SETTINGKEY_DOMAINCONTROLLER: TextBoxDomainController.Text = value; oldDomainController = value; break; case Constants.AD_SETTINGKEY_DOMAIN_NAME: TextBoxDomainName.Text = value; oldDomainName = value; TextBoxDomainName.Enabled = false; break; case "AD_ALIAS": TextBoxDomainAlias.Text = value; oldDomainAlias = value; break; case Constants.AD_SETTINGKEY_AD_USERNAME: TextBoxUserName.Text = value; oldDomainUserName = value; break; case Constants.AD_SETTINGKEY_AD_PASSWORD: string password = value; if (!string.IsNullOrEmpty(password)) { password = Protector.ProvideDecryptedPassword(password); } TextBoxPassword.Attributes.Add("value", password); oldDomainUserPassword = password; break; case Constants.AD_SETTINGKEY_AD_PORT: TextBoxPort.Text = value; oldDomainPort = value; break; case Constants.AD_SETTINGKEY_AD_FULLNAME: DropDownListFullName.SelectedValue = value; oldDomainNameAttribute = value; break; default: break; } } }
/* * /// <summary> * /// Transfers the file. * /// </summary> * /// <param name="jobName">Name of the job.</param> * private void TransferFile_Old(string jobName) * { * string AUDITORSOURCE = "Print Job Status"; * * string ftpIPAddress = deviceIPAddress; * // Assign default values to the Ftp settings * string ftpProtocol = string.Empty; * string ftpPort = string.Empty; * string ftpUserName = string.Empty; * string ftpUserPassword = string.Empty; * string userSource = Session["UserSource"] as string; * string userId = Session["UserID"] as string; * * try * { * // Get settings for FTP from Database based on MFP IP address * DbDataReader drMfpDetails = DataManagerDevice.ProviderDevice.Device.ProvideDeviceDetails(ftpIPAddress); * * // Assign the Database values * if (drMfpDetails.HasRows) * { * drMfpDetails.Read(); * ftpProtocol = drMfpDetails["FTP_PROTOCOL"].ToString().ToLower(); * ftpIPAddress = drMfpDetails["FTP_ADDRESS"].ToString(); * ftpPort = drMfpDetails["FTP_PORT"].ToString(); * ftpUserName = drMfpDetails["FTP_USER_ID"].ToString(); * ftpUserPassword = drMfpDetails["FTP_USER_PASSWORD"].ToString(); * if (!string.IsNullOrEmpty(ftpUserPassword)) * { * ftpUserPassword = Protector.ProvideDecryptedPassword(ftpUserPassword); * } * } * if (drMfpDetails != null && drMfpDetails.IsClosed == false) * { * drMfpDetails.Close(); * } * * if (string.IsNullOrEmpty(ftpProtocol)) * { * ftpProtocol = "ftp"; * } * if (string.IsNullOrEmpty(ftpIPAddress)) * { * ftpIPAddress = Request.Params["REMOTE_ADDR"].ToString(); * } * if (string.IsNullOrEmpty(ftpPort)) * { * ftpPort = ConfigurationManager.AppSettings["MFPFTPPort"]; * } * * string printJobsLocation = ConfigurationSettings.AppSettings["PrintJobsLocation"]; * printJobsLocation = Path.Combine(printJobsLocation, userSource); * printJobsLocation = Path.Combine(printJobsLocation, userId); * printJobsLocation = Path.Combine(printJobsLocation, jobName); * * string FTPAddress = string.Format("{0}://{1}:{2}", ftpProtocol, ftpIPAddress, ftpPort); * * FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(FTPAddress + "/" + Path.GetFileName(jobName)); * request.Method = WebRequestMethods.Ftp.UploadFile; * if (!string.IsNullOrEmpty(ftpUserName)) * { * request.Credentials = new NetworkCredential(ftpUserName, ftpUserPassword); * } * request.UsePassive = true; * request.UseBinary = true; * request.KeepAlive = false; * * //FileStream stream = File.OpenRead(printJobsLocation); * //byte[] buffer = new byte[stream.Length]; * * //stream.Read(buffer, 0, buffer.Length); * //stream.Close(); * string finalSettingsPath = ProvidePrintedFile(userId, jobName); * * FileInfo fileNew = new FileInfo(finalSettingsPath); * long fileSize = fileNew.Length; * bool isDeleteFile = false; * * if (File.Exists(finalSettingsPath)) * { * if (Session["IsSettingChanged"] != null) * { * if (Session["IsSettingChanged"] == "Yes") * { * isDeleteFile = true; * //File.Delete(finalSettingsPath); * } * } * } * * if (Session["deleteJobs"] != null) * { * isDeleteFile = true; * } * * int maxFileSize = Convert.ToInt32(ConfigurationSettings.AppSettings["BigPrintJobMinSize"]); * if (fileSize > maxFileSize * 1024 * 1024) * { * DataManagerDevice.Controller.Jobs.QueueForFTPPrinting(finalSettingsPath, FTPAddress + "/" + Path.GetFileName(jobName), ftpUserName, ftpUserPassword, isDeleteFile); * } * else * { * DateTime dtJobReleaseStart = DateTime.Now; * FtpHelper.UploadFile(finalSettingsPath, FTPAddress + "/" + Path.GetFileName(jobName), ftpUserName, ftpUserPassword, isDeleteFile); * if (isDeleteFile == true) * { * DeleteJobData(finalSettingsPath); * } * DateTime dtJobReleaseEnd = DateTime.Now; * DataManagerDevice.Controller.Jobs.UpdateJobReleaseTimings(finalSettingsPath.Replace("_PDFinal", "_PD"), dtJobReleaseStart, dtJobReleaseEnd); * } * * string auditorSuccessMessage = string.Format("Print jobs succesfully submitted to the device {0} by {1}", deviceIPAddress, userId); * LogManager.RecordMessage(deviceIPAddress, AUDITORSOURCE, LogManager.MessageType.Success, auditorSuccessMessage); * } * catch (Exception ex) * { * string auditorFailureMessage = string.Format("Failed to submit print data to the device {0} by {1} ", deviceIPAddress, userId); * string suggestionMessage = "Report to administrator"; * LogManager.RecordMessage(deviceIPAddress, AUDITORSOURCE, LogManager.MessageType.Exception, auditorFailureMessage, suggestionMessage, ex.Message, ex.StackTrace); * } * * // Delete Job Data * try * { * //Stream reqStream = request.GetRequestStream(); * //reqStream.Write(buffer, 0, buffer.Length); * //reqStream.Close(); * if (Session["deleteJobs"] != null) * { * DeleteJobData(jobName); * } * } * catch (Exception exceptionDeleteJobs) * { * string auditorFailureMessage = string.Format("Failed to delete job - {0}", jobName); * string suggestionMessage = "Report to administrator"; * LogManager.RecordMessage(deviceIPAddress, AUDITORSOURCE, LogManager.MessageType.Exception, auditorFailureMessage, suggestionMessage, exceptionDeleteJobs.Message, exceptionDeleteJobs.StackTrace); * } * } */ #endregion private void TransferFile(string jobName, DataSet dsDevices, DataTable dtPrintJobs, int rowCount) { string AUDITORSOURCE = "Print Job Status"; string quickReleaseSmallFiles = DataManagerDevice.ProviderDevice.ApplicationSettings.ProvideQuickReleaseSmallFiles(); if (string.IsNullOrEmpty(quickReleaseSmallFiles)) { quickReleaseSmallFiles = "Enable"; } string ftpIPAddress = deviceIPAddress; // Assign default values to the Ftp settings string ftpProtocol = string.Empty; string ftpPort = string.Empty; string ftpUserName = string.Empty; string ftpUserPassword = string.Empty; try { if (dsDevices != null && dsDevices.Tables.Count > 0) { DataRow[] drDeviceDetails = dsDevices.Tables[0].Select(string.Format("MFP_IP='{0}'", ftpIPAddress)); if (drDeviceDetails != null && drDeviceDetails.Length > 0) { ftpProtocol = drDeviceDetails[0]["FTP_PROTOCOL"].ToString().ToLower(); ftpIPAddress = drDeviceDetails[0]["FTP_ADDRESS"].ToString(); ftpPort = drDeviceDetails[0]["FTP_PORT"].ToString(); ftpUserName = drDeviceDetails[0]["FTP_USER_ID"].ToString(); ftpUserPassword = drDeviceDetails[0]["FTP_USER_PASSWORD"].ToString(); if (!string.IsNullOrEmpty(ftpUserPassword)) { ftpUserPassword = Protector.ProvideDecryptedPassword(ftpUserPassword); } } } if (string.IsNullOrEmpty(ftpProtocol)) { ftpProtocol = "ftp"; } if (string.IsNullOrEmpty(ftpIPAddress)) { ftpIPAddress = Request.Params["REMOTE_ADDR"].ToString(); } if (string.IsNullOrEmpty(ftpPort)) { ftpPort = ConfigurationManager.AppSettings["MFPFTPPort"]; } string printJobsLocation = ConfigurationManager.AppSettings["PrintJobsLocation"]; string currentUserSource = userSource; if (currentUserSource == "DM") { currentUserSource = "AD"; } printJobsLocation = Path.Combine(printJobsLocation, currentUserSource); if (userSource == "AD") { printJobsLocation = Path.Combine(printJobsLocation, domainName); } printJobsLocation = Path.Combine(printJobsLocation, userId); printJobsLocation = Path.Combine(printJobsLocation, jobName); string FTPAddress = string.Format("{0}://{1}:{2}", ftpProtocol, ftpIPAddress, ftpPort); FileInfo fileNew = new FileInfo(printJobsLocation); long jobFileSize = fileNew.Length; bool isDeleteFile = false; if (File.Exists(printJobsLocation)) { if (Session["IsSettingChanged"] != null) { if (Session["IsSettingChanged"] as string == "Yes") { isDeleteFile = true; } } } if (Session["deleteJobs"] != null) { isDeleteFile = true; } string fileName = Path.GetFileName(jobName); if (fileName.Length >= 25) { fileName = fileName.Substring(0, 25) + ".prn"; } int maxFileSize = Convert.ToInt32(ConfigurationManager.AppSettings["BigPrintJobMinSize"]); string serviceName = "AccountingPlusPrimaryJobReleaser"; int megaByte = 1024 * 1024; if (quickReleaseSmallFiles == "Enable") { if (jobFileSize <= 10 * megaByte) { serviceName = "AccountingPlusPrimaryJobReleaser"; } else if (jobFileSize > 10 * megaByte && jobFileSize <= 200 * megaByte) { serviceName = "AccountingPlusSecondaryJobReleaser"; } else { serviceName = "AccountingPlusTertiaryJobReleaser"; } } else { serviceName = "AccountingPlusPrimaryJobReleaser"; } DataTable printSettings = Session["NewPrintSettings"] as DataTable; if (jobFileSize <= 1 * megaByte && printSettings == null && quickReleaseSmallFiles == "Enable") { try { FtpHelper.UploadFile(printJobsLocation, FTPAddress + "/" + fileName, ftpUserName, ftpUserPassword, isDeleteFile); } catch (Exception ex) { string auditorFailureMessage = string.Format("Failed to submit print data(size = {2} bytes) to the device {0} by {1} ", deviceIPAddress, userId, jobFileSize); string suggestionMessage = "Report to administrator"; LogManager.RecordMessage(deviceIPAddress, AUDITORSOURCE, LogManager.MessageType.Exception, auditorFailureMessage, suggestionMessage, ex.Message, ex.StackTrace); } } else { string originalPrintSettings = ""; string newPrintSettings = ""; bool isReleaseWithNewSettings = false; if (printSettings != null) { printSettings.TableName = "JobSettings"; isReleaseWithNewSettings = true; newPrintSettings = DataTableToXML(printSettings); } string deleteFile = "false"; if (isDeleteFile) { deleteFile = "true"; } string releaseWithSettings = "false"; if (isReleaseWithNewSettings) { releaseWithSettings = "true"; } string isSettingsChanged = "true"; if (!string.IsNullOrEmpty(originalPrintSettings)) { originalPrintSettings = originalPrintSettings.Replace("'", "''"); } if (!string.IsNullOrEmpty(newPrintSettings)) { newPrintSettings = newPrintSettings.Replace("'", "''"); } string currentDate = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss"); string newJobName = jobName.Replace("'", "''"); string newPrintJobsLocation = printJobsLocation.Replace("'", "''"); string ftpPath = FTPAddress + "/" + fileName; string newFtpUserName = ftpUserName.Replace("'", "''"); string newFtpUserPassword = ftpUserPassword.Replace("'", "''"); string mfpIpAddress = ftpIPAddress; dtPrintJobs.Rows.Add(rowCount, serviceName, userSource, userId, newJobName, newPrintJobsLocation, jobFileSize.ToString(), originalPrintSettings, newPrintSettings, isSettingsChanged, releaseWithSettings, ftpPath, newFtpUserName, newFtpUserPassword, "False", isDeleteFile, "False", "", "", "", currentDate, domainName, mfpIpAddress, currentDate); } } catch (Exception ex) { string auditorFailureMessage = string.Format("Failed to submit print data to the device {0} by {1} ", deviceIPAddress, userId); string suggestionMessage = "Report to administrator"; LogManager.RecordMessage(deviceIPAddress, AUDITORSOURCE, LogManager.MessageType.Exception, auditorFailureMessage, suggestionMessage, ex.Message, ex.StackTrace); } }
/// <summary> /// Gets the setting. /// </summary> /// <param name="AppsetngCategorey">Appsetng categorey.</param> /// <remarks> /// Sequence Diagram:<br/> /// <img src="SequenceDiagrams/SD_AdministrationManageSettings.GetSetting.jpg"/> /// </remarks> private void GetSetting(string AppsetngCategorey) { DataSet dssettingtype = ApplicationSettings.ProvideGeneralSettings(AppsetngCategorey); HiddenFieldSettingType.Value = Convert.ToString(dssettingtype.Tables[0].Rows.Count, CultureInfo.CurrentCulture); string ResourceIds = string.Empty; for (int row = 0; row < dssettingtype.Tables[0].Rows.Count; row++) { ResourceIds += dssettingtype.Tables[0].Rows[row]["APPSETNG_RESX_ID"].ToString() + ","; } ResourceIds += "UPDATE,RESET,GENERAL_SETTINGS,AUTO_LOGIN,APPLICATION_SESSION_TIMEOUT,AUTOLOGIN_TIMEOUT"; Hashtable localizedResources = LocalizeThisPage(ResourceIds); for (int row = 0; row < dssettingtype.Tables[0].Rows.Count; row++) { TableRow trsettingvalue = new TableRow(); trsettingvalue.Height = 30; trsettingvalue.HorizontalAlign = HorizontalAlign.Left; TableCell tdSlNo = new TableCell(); tdSlNo.HorizontalAlign = HorizontalAlign.Left; tdSlNo.Text = Convert.ToString((row + 1), CultureInfo.CurrentCulture); string settingKey = dssettingtype.Tables[0].Rows[row]["APPSETNG_KEY"].ToString(); TableCell tdsettingtype = new TableCell(); tdsettingtype.Text = localizedResources["L_" + dssettingtype.Tables[0].Rows[row]["APPSETNG_RESX_ID"].ToString()] as string; tdsettingtype.HorizontalAlign = HorizontalAlign.Right; tdsettingtype.Font.Bold = true; //trsettingvalue.ToolTip = settingKey; trsettingvalue.CssClass = "Normal_FontLabel";//Normal_FontLabel string settingvalue = dssettingtype.Tables[0].Rows[row]["APPSETNG_VALUE"].ToString(); if (settingKey == "AD Password") { settingvalue = Protector.ProvideDecryptedPassword(settingvalue); } string settingvaluelength = "50"; TableCell tdsettingvalue = new TableCell(); tdsettingvalue.Text = "<input type='hidden' name='__SETTINGKEY_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' value='" + settingKey + "'>"; string defaultOptions = dssettingtype.Tables[0].Rows[row]["ADS_LIST"].ToString(); string defaultOptionValues = dssettingtype.Tables[0].Rows[row]["ADS_LIST_VALUES"].ToString(); string defaultValue = dssettingtype.Tables[0].Rows[row]["ADS_DEF_VALUE"].ToString(); string[] defaultOptionsArray = defaultOptions.Split(",;".ToCharArray()); string[] defaultOptionValuesArray = defaultOptionValues.Split(",;".ToCharArray()); string controlType = dssettingtype.Tables[0].Rows[row]["CONTROL_TYPE"] as string; string htmlControlText = ""; if (!string.IsNullOrEmpty(settingvalue)) { defaultValue = settingvalue; } switch (controlType) { case Constants.CONTROLTYPE_TEXTBOX: htmlControlText = "<input style='width:200px' type=text onKeypress='if (event.keyCode==34 || event.keyCode==39) event.returnValue = false;' oncontextmenu='return false' oncopy='return false' onpaste='return false' name='__SETTINGVALUE_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' value ='" + Convert.ToString(settingvalue, CultureInfo.CurrentCulture) + "' size='" + settingvaluelength + "' maxlength='50'> "; break; case Constants.CONTROLTYPE_PASSWORD: htmlControlText = "<input style='width:200px' type=password onKeypress='if (event.keyCode==34 || event.keyCode==39) event.returnValue = false;' oncontextmenu='return false' oncopy='return false' onpaste='return false' name='__SETTINGVALUE_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' value ='" + Convert.ToString(settingvalue, CultureInfo.CurrentCulture) + "' size='" + settingvaluelength + "' maxlength='50'> "; break; case Constants.CONTROLTYPE_CHECKBOX: for (int item = 0; item < defaultOptionsArray.Length; item++) { if (defaultValue.IndexOf(defaultOptionsArray[item].Trim(), StringComparison.OrdinalIgnoreCase) >= 0) { htmlControlText += "<input type='checkbox' checked=true name='__SETTINGVALUE_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; } else { htmlControlText += "<input type='checkbox' name='__SETTINGVALUE_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; } } break; //Future Use #region Absolute //case "CHECKBOX": // for (int item = 0; item < defaultOptionsArray.Length; item++) // { // if (defaultValue.IndexOf(defaultOptionsArray[item].Trim()) >= 0) // { // if (dssettingtype.Tables[0].Rows[row]["APPSETNG_VALUE"].ToString() == "") // { // if (dssettingtype.Tables[0].Rows[row]["ADS_DEF_VALUE"].ToString() == "0") // { // htmlControlText += "<input type='checkbox' name='__SETTINGVALUE_" + (row + 1).ToString() + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; // } // else // htmlControlText += "<input type='checkbox' checked=true name='__SETTINGVALUE_" + (row + 1).ToString() + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; // } // else // { // if (dssettingtype.Tables[0].Rows[row]["APPSETNG_VALUE"].ToString() == "0") // { // htmlControlText += "<input type='checkbox' name='__SETTINGVALUE_" + (row + 1).ToString() + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; // } // else // htmlControlText += "<input type='checkbox' checked=true name='__SETTINGVALUE_" + (row + 1).ToString() + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; // } // // htmlControlText += "<input type='checkbox' checked=true name='__SETTINGVALUE_" + (row + 1).ToString() + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; // } // else // { // htmlControlText += "<input type='checkbox' name='__SETTINGVALUE_" + (row + 1).ToString() + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; // } // } // break; #endregion case Constants.CONTROLTYPE_RADIO: for (int item = 0; item < defaultOptionsArray.Length; item++) { if (defaultOptionsArray[item] == defaultValue) { htmlControlText += "<input type='radio' checked=true groupname='grp_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' name='__SETTINGVALUE_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; } else { htmlControlText += "<input type='radio' groupname='grp_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' name='__SETTINGVALUE_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' value ='" + defaultOptionsArray[item] + "' /> " + defaultOptionsArray[item] + "<br/>"; } } break; case Constants.CONTROLTYPE_DROPDOWN: string options = defaultOptions.ToUpper().Replace(" ", "_"); Hashtable localizedOptions = AppLibrary.Localization.Resources("", Session["selectedCulture"] as string, options, "", ""); localizedOptions["L_LOGIN_FOR_ACCOUNTINGPLUS_ONLY"] = "Login for AccountingPlus only"; htmlControlText = "<select class='Dropdown_CSS' name='__SETTINGVALUE_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "'>"; for (int item = 0; item < defaultOptionsArray.Length; item++) { string key = "L_" + defaultOptionsArray[item].ToUpper().Replace(" ", "_"); if (settingKey == "Time out") { key = defaultOptionsArray[item].ToUpper().Replace(" ", "_"); //TODO:: Below line Has to be removed once localized this string tdsettingtype.Text = localizedResources["L_APPLICATION_SESSION_TIMEOUT"].ToString(); //"Application Session Time out (Seconds)"; for (int sec = 5; sec <= 900; sec = sec + 5) { if (sec.ToString() == defaultValue) { htmlControlText += "<option value='" + sec.ToString() + "' selected='true'>" + sec.ToString() + "</option>"; } else { htmlControlText += "<option value='" + sec.ToString() + "'>" + sec.ToString() + "</option>"; } } } else if (settingKey == "Auto Login Time Out") { key = defaultOptionsArray[item].ToUpper().Replace(" ", "_"); //TODO:: Below line Has to be removed once localized this string tdsettingtype.Text = localizedResources["L_AUTOLOGIN_TIMEOUT"].ToString(); //"Auto Login Time Out (Seconds)"; for (int seconds = 5; seconds <= 600; seconds = seconds + 5) { if (seconds.ToString() == defaultValue) { htmlControlText += "<option value='" + seconds.ToString() + "' selected='true'>" + seconds.ToString() + "</option>"; } else { htmlControlText += "<option value='" + seconds.ToString() + "'>" + seconds.ToString() + "</option>"; } } } else { //TODO:: Below line Has to be removed once localized this string if (settingKey == "Enable Auto Login") { // tdsettingtype.Text = "Auto Login"; tdsettingtype.Text = localizedResources["L_AUTO_LOGIN"].ToString(); } if (defaultOptionValuesArray[item] == defaultValue) { htmlControlText += "<option value='" + defaultOptionValuesArray[item] + "' selected='true'>" + localizedOptions[key].ToString() + "</option>"; } else { htmlControlText += "<option value='" + defaultOptionValuesArray[item] + "'>" + localizedOptions[key].ToString() + "</option>"; } } } htmlControlText += "</select>"; break; default: htmlControlText = "<input style='width:200px' type=text onKeypress='if (event.keyCode==34 || event.keyCode==39) event.returnValue = false;' oncontextmenu='return false' oncopy='return false' onpaste='return false' name='__SETTINGVALUE_" + Convert.ToString((row + 1), CultureInfo.CurrentCulture) + "' value ='" + settingvalue.ToString() + "' size='" + settingvaluelength + "' maxlength='50'> "; break; } //if (settingKey != "Return to Print Jobs") //{ tdsettingvalue.Text += htmlControlText; trsettingvalue.Cells.Add(tdsettingtype); trsettingvalue.Cells.Add(tdsettingvalue); Table_GeneralSettings.Rows.Add(trsettingvalue); //} } }
/// <summary> /// Adds the user details. /// </summary> /// <remarks> /// Sequence Diagram:<br/> /// <img src="SequenceDiagrams/SD_PrintReleaseDevice.Browser.SelfRegistration.AddUserDetails.jpg"/> /// </remarks> private void AddUserDetails() { string cardID = Session["SelfCardId"] as string; string userID = TextBoxUserName.Text.Trim(); string domainName = TextBoxDomain.Text; string userPassword = password; bool isValidFascilityCode = false; bool isValidCard = false; string cardValidationInfo = ""; string deviceIpAddress = Request.Params["REMOTE_ADDR"].ToString(); string transformationCard = Card.ProvideCardTransformation(null, Session["CardReaderType"] as string, cardID, ref isValidFascilityCode, ref isValidCard, ref cardValidationInfo); if (!string.IsNullOrEmpty(transformationCard)) { if (string.IsNullOrEmpty(userPassword)) { userPassword = TextBoxPassword.Text.Trim(); } string pin = TextBoxPin.Text.Trim(); //if (DataManagerDevice.Controller.Card.IsCardExists(cardID)) //{ // TableCommunicator.Visible = true; // TableSelfRegistrationControls.Visible = false; // TableFutureLogOnControls.Visible = false; // redirectToLogOn = true; // LabelCommunicatorNote.Text = Localization.GetServerMessage(Constants.APPLICATION_TYPE_OSA_CLASSIC, deviceCulture, "CARDID_ALREADY_USED"); //} //else //{ if (isValidFascilityCode == true && string.IsNullOrEmpty(cardValidationInfo) == true) { if (string.Compare(cardID, transformationCard, true) == 0) //cardID.IndexOf(transformationCard) > -1 { int defaultDepartment = DataManagerDevice.ProviderDevice.Users.ProvideDefaultDepartment(userSource); string userAuthenticationOn = string.Empty; if (RadioButtonUseWindowsPassword.Checked) { userAuthenticationOn = Constants.AUTHENTICATE_FOR_PASSWORD; } else if (RadioButtonUsePin.Checked) { userAuthenticationOn = Constants.AUTHENTICATE_FOR_PIN; } try { if (userSource == Constants.USER_SOURCE_DB) { domainName = "Local"; } if (string.IsNullOrEmpty(domainName)) { domainName = "Local"; } string emailid = string.Empty; if (userSource == Constants.USER_SOURCE_AD) { emailid = Ldap.GetUserEmail(domainName, userID, userPassword, userID.Replace("'", "''")); } // Check If the User exist in the AccountingPlus Database string isInserted = ""; bool isUpdated = false; DataSet dsExistingUserDetails = DataManagerDevice.ProviderDevice.Users.ProvideUserDetails(userID, userSource); if (dsExistingUserDetails != null) { if (dsExistingUserDetails.Tables[0].Rows.Count > 0) { string userName = dsExistingUserDetails.Tables[0].Rows[0]["USR_ID"].ToString(); string existingPassword = dsExistingUserDetails.Tables[0].Rows[0]["USR_PASSWORD"].ToString(); // Update existing user if (!string.IsNullOrEmpty(existingPassword)) { existingPassword = Protector.ProvideDecryptedPassword(existingPassword); } if (userSource == "AD" && existingPassword == "") { isInserted = DataManagerDevice.Controller.Users.UpdateUser(userID, existingPassword, cardID, userAuthenticationOn, pin, userSource, defaultDepartment, domainName, ref isUpdated); } else if (existingPassword == userPassword && userSource == "DB") { isInserted = DataManagerDevice.Controller.Users.UpdateUser(userID, userPassword, cardID, userAuthenticationOn, pin, userSource, defaultDepartment, domainName, ref isUpdated); } else { isInserted = "false"; TableCommunicator.Visible = true; TableSelfRegistrationControls.Visible = false; TableFutureLogOnControls.Visible = false; redirectToLogOn = true; LabelCommunicatorNote.Text = "Invalid Username/Password"; return; } } else { // Insert new user isInserted = DataManagerDevice.Controller.Users.InsertUser(userID, userPassword, cardID, userAuthenticationOn, pin, userSource, defaultDepartment, domainName, emailid, ref isUpdated); } } else { // Insert new user isInserted = DataManagerDevice.Controller.Users.InsertUser(userID, userPassword, cardID, userAuthenticationOn, pin, userSource, defaultDepartment, domainName, emailid, ref isUpdated); } if (string.IsNullOrEmpty(isInserted)) { //string assignUser = DataManagerDevice.Controller.Users.AssignUserToCostCenter(userID, "1", userSource); password = ""; Session["UserID"] = userID; Session["Username"] = userID; DataSet dsUsers = DataManagerDevice.ProviderDevice.Users.ProvideUserDetails(userID, userSource); if (dsUsers != null && dsUsers.Tables[0].Rows.Count > 0) { Session["UserSystemID"] = dsUsers.Tables[0].Rows[0]["USR_ACCOUNT_ID"].ToString(); string setAccessRight = DataManagerDevice.Controller.Users.SetAccessRightForSelfRegistration(dsUsers.Tables[0].Rows[0]["USR_ACCOUNT_ID"].ToString(), userSource, deviceIpAddress); } else { Session["UserSystemID"] = userID; } string auditorSuccessMessage = string.Format("User {0}, Successfully self registered on device {1}", userID, deviceIpAddress); if (isUpdated) { auditorSuccessMessage = string.Format("User {0}, Successfully updated card on device {1}", userID, deviceIpAddress); } LogManager.RecordMessage(deviceIpAddress, userID, LogManager.MessageType.Success, auditorSuccessMessage); RedirectPage(); } else { TableCommunicator.Visible = true; TableSelfRegistrationControls.Visible = false; TableFutureLogOnControls.Visible = false; LabelCommunicatorNote.Text = Localization.GetServerMessage(Constants.APPLICATION_TYPE_OSA_CLASSIC, deviceCulture, "FAILED_TO_REGISTER"); } } catch (Exception ex) { TableCommunicator.Visible = true; TableSelfRegistrationControls.Visible = false; TableFutureLogOnControls.Visible = false; if (ex.Message == "Restart the MFP") { LabelCommunicatorNote.Text = Localization.GetServerMessage(Constants.APPLICATION_TYPE_OSA_CLASSIC, deviceCulture, "REGISTRATION_DEVICE_NOT_RESPONDING"); } else { LabelCommunicatorNote.Text = Localization.GetServerMessage(Constants.APPLICATION_TYPE_OSA_CLASSIC, deviceCulture, "FAILED_TO_REGISTER"); } } } else { InvalidCard(); } } else { InvalidCard(); } //} } else { InvalidCard(); } }