protected void ddlChartTypeChange(object sender, EventArgs e) { divChart.ViewStateMode = System.Web.UI.ViewStateMode.Disabled; if (ddlChartType.SelectedValue == "" || HSCalcs().ehsCtl.IncidentHst == null || HSCalcs().ehsCtl.IncidentHst.Count == 0) { pnlChartSection.Style.Add("display", "none"); lnkChartClose.Visible = lnkPrint.Visible = false; } else { PERSPECTIVE_VIEW view = null; divChart.Controls.Clear(); LOCAL_LANGUAGE lang = SQMModelMgr.LookupLanguage(entities, "", SessionManager.UserContext.Person.PREFERRED_LANG_ID.HasValue ? (int)SessionManager.UserContext.Person.PREFERRED_LANG_ID : 1, false); view = ViewModel.LookupView(entities, "HSIR", "HSIR", 0, lang.NLS_LANGUAGE); if (view != null) { PERSPECTIVE_VIEW_ITEM vi = view.PERSPECTIVE_VIEW_ITEM.Where(i => i.ITEM_SEQ.ToString() == ddlChartType.SelectedValue).FirstOrDefault(); if (vi != null) { GaugeDefinition ggCfg = new GaugeDefinition().Initialize().ConfigureControl(vi, null, "", false, !string.IsNullOrEmpty(hfwidth.Value) ? Convert.ToInt32(hfwidth.Value) - 62 : 0, 0); ggCfg.Position = null; HSCalcs().ehsCtl.SetCalcParams(vi.CALCS_METHOD, vi.CALCS_SCOPE, vi.CALCS_STAT, (int)vi.SERIES_ORDER, vi.FILTER, vi.OPTIONS).IncidentSeries((EHSCalcsCtl.SeriesOrder)vi.SERIES_ORDER, SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToArray(), new DateTime(1900, 1, 1), SessionManager.UserContext.LocalTime.AddYears(100), HSCalcs().ehsCtl.GetIncidentTopics()); uclChart.CreateControl((SQMChartType)vi.CONTROL_TYPE, ggCfg, HSCalcs().ehsCtl.Results, divChart); pnlChartSection.Style.Add("display", "inline"); lnkChartClose.Visible = lnkPrint.Visible = true; // return; } } } }
public bool SetLanguage(int langIDIn) { // this.BaseClear(); // !!! clear all app pages when new language - to ensure a refresh from the db int langID = langIDIn; this.BaseRemove("Language"); if (langIDIn < 1) { langID = 1; } return(this.Add("Language", SQMModelMgr.LookupLanguage(new PSsqmEntities(), "", langID, false))); }
protected void btnSave_Click(object sender, EventArgs e) { PSsqmEntities ctx = new PSsqmEntities(); PERSON user = SQMModelMgr.LookupPerson(ctx, SessionManager.UserContext.Person.PERSON_ID, "", false); user.PHONE = tbUserPhone.Text; if (!string.IsNullOrEmpty(ddlUserLang.SelectedValue)) { user.PREFERRED_LANG_ID = Convert.ToInt32(ddlUserLang.SelectedValue); SessionManager.UserContext.Language = SQMModelMgr.LookupLanguage(ctx, "", (int)user.PREFERRED_LANG_ID, false); //SessionManager.SessionContext.SetLanguage((int)user.PREFERRED_LANG_ID); } user = SQMModelMgr.UpdatePerson(ctx, user, SessionManager.UserContext.UserName()); if (user != null) { SessionManager.UserContext.Person = user; // ?? } }
AlertData PopulateByIncidentId(decimal iid) { AlertData d = new AlertData(); var entities = new PSsqmEntities(); d.incident = EHSIncidentMgr.SelectIncidentById(entities, iid); if (d.incident != null) { try { //string plantName = EHSIncidentMgr.SelectPlantNameById((decimal)d.incident.DETECT_PLANT_ID); PLANT plant = SQMModelMgr.LookupPlant((decimal)d.incident.DETECT_PLANT_ID); string plantName = plant.PLANT_NAME; d.incidentLocation = plantName; if (plant.LOCAL_LANGUAGE.HasValue) { d.locationNLS = SQMModelMgr.LookupLanguage(entities, "", (int)plant.LOCAL_LANGUAGE, false).NLS_LANGUAGE; } d.incidentNumber = WebSiteCommon.FormatID(iid, 6); string incidentType = EHSIncidentMgr.SelectIncidentTypeByIncidentId(iid); decimal incidentTypeId = EHSIncidentMgr.SelectIncidentTypeIdByIncidentId(iid); decimal companyId = d.incident.DETECT_COMPANY_ID; var questions = EHSIncidentMgr.SelectIncidentQuestionList(incidentTypeId, companyId, 0); questions.AddRange(EHSIncidentMgr.SelectIncidentQuestionList(incidentTypeId, companyId, 1)); d.answerList = EHSIncidentMgr.GetIncidentAnswerList(d.incident.INCIDENT_ID); INCIDENT_ANSWER answer = null; // Date/Time d.incidentDate = d.incident.INCIDENT_DT.ToString("MMMM dd, yyyy"); if ((answer = d.answerList.Where(a => a.INCIDENT_QUESTION_ID == (decimal)EHSQuestionId.TimeOfDay).SingleOrDefault()) != null) { if (!string.IsNullOrEmpty(answer.ANSWER_VALUE)) { d.incidentTime = Convert.ToDateTime(answer.ANSWER_VALUE).ToShortTimeString(); } } if ((answer = d.answerList.Where(a => a.INCIDENT_QUESTION_ID == (decimal)EHSQuestionId.Shift).SingleOrDefault()) != null) { if (!string.IsNullOrEmpty(SQMBasePage.GetXLAT(reportXLAT, "SHIFT", answer.ANSWER_VALUE).DESCRIPTION)) { answer.ANSWER_VALUE = SQMBasePage.GetXLAT(reportXLAT, "SHIFT", answer.ANSWER_VALUE).DESCRIPTION; } } if ((answer = d.answerList.Where(a => a.INCIDENT_QUESTION_ID == (decimal)EHSQuestionId.Department).SingleOrDefault()) != null) { d.incidentDept = answer.ANSWER_VALUE; decimal deptID = 0; if (decimal.TryParse(answer.ANSWER_VALUE, out deptID)) { DEPARTMENT dept = SQMModelMgr.LookupDepartment(entities, deptID); if (dept != null) { d.incidentDept = dept.DEPT_NAME; } } } // Incident Type d.incidentType = incidentType; // Description d.incidentDescription = d.incident.DESCRIPTION; d.detectPerson = SQMModelMgr.LookupPerson(entities, (decimal)d.incident.CREATE_PERSON, "", false); if (d.incident.ISSUE_TYPE_ID == (decimal)EHSIncidentTypeId.InjuryIllness) { if (d.incident.INCFORM_INJURYILLNESS.INVOLVED_PERSON_ID.HasValue) { d.involvedPerson = SQMModelMgr.LookupPerson(entities, (decimal)d.incident.INCFORM_INJURYILLNESS.INVOLVED_PERSON_ID, "", false); } else { d.involvedPerson = new PERSON(); d.involvedPerson.FIRST_NAME = d.incident.INCFORM_INJURYILLNESS.INVOLVED_PERSON_NAME; } if (d.incident.INCFORM_INJURYILLNESS.DEPT_ID.HasValue) { DEPARTMENT dept = SQMModelMgr.LookupDepartment(entities, (decimal)d.incident.INCFORM_INJURYILLNESS.DEPT_ID); if (dept != null) { d.incidentDept = dept.DEPT_NAME; } } else { d.incidentDept = d.incident.INCFORM_INJURYILLNESS.DEPARTMENT; } } // Containment foreach (INCFORM_CONTAIN cc in EHSIncidentMgr.GetContainmentList(iid, null, false)) { if (cc.ASSIGNED_PERSON_ID.HasValue) { cc.ASSIGNED_PERSON = SQMModelMgr.FormatPersonListItem(SQMModelMgr.LookupPerson((decimal)cc.ASSIGNED_PERSON_ID, "")); } d.containList.Add(cc); } // Root Cause(s) d.root5YList = EHSIncidentMgr.GetRootCauseList(iid).Where(l => !string.IsNullOrEmpty(l.ITEM_DESCRIPTION)).ToList(); if (d.root5YList != null && d.root5YList.Count > 0) { d.incident.INCFORM_CAUSATION.Load(); if (d.incident.INCFORM_CAUSATION != null && d.incident.INCFORM_CAUSATION.Count > 0) { d.causation = d.incident.INCFORM_CAUSATION.ElementAt(0); } } // Corrective Actions foreach (TASK_STATUS ac in EHSIncidentMgr.GetCorrectiveActionList(iid, null, false)) { if (ac.RESPONSIBLE_ID.HasValue) { ac.COMMENTS = SQMModelMgr.FormatPersonListItem(SQMModelMgr.LookupPerson((decimal)ac.RESPONSIBLE_ID, "")); } d.actionList.Add(ac); } var files = (from a in entities.ATTACHMENT where (a.RECORD_ID == iid && a.RECORD_TYPE == 40 && a.DISPLAY_TYPE > 0) && (a.FILE_NAME.ToLower().Contains(".jpg") || a.FILE_NAME.ToLower().Contains(".jpeg") || a.FILE_NAME.ToLower().Contains(".gif") || a.FILE_NAME.ToLower().Contains(".png") || a.FILE_NAME.ToLower().Contains(".bmp")) orderby a.RECORD_TYPE, a.FILE_NAME select new { Data = (from f in entities.ATTACHMENT_FILE where f.ATTACHMENT_ID == a.ATTACHMENT_ID select f.ATTACHMENT_DATA).FirstOrDefault(), Description = (string.IsNullOrEmpty(a.FILE_DESC)) ? "" : a.FILE_DESC, ID = a.ATTACHMENT_ID }).ToList(); d.approvalList = EHSIncidentMgr.GetApprovalList(entities, (decimal)d.incident.ISSUE_TYPE_ID, 10.0m, iid, null, 0); if (files.Count > 0) { d.photoData = new List <byte[]>(); d.photoCaptions = new List <string>(); d.photoIDList = new List <decimal>(); foreach (var f in files) { d.photoIDList.Add(f.ID); d.photoData.Add(f.Data); d.photoCaptions.Add(f.Description); } } } catch { } } return(d); }
public UserContext Initialize(string SSOID, string pwd, bool activeOnly) { SQM.Website.PSsqmEntities ctx = new PSsqmEntities(); this.LoginStatus = LoginStatus.SSOUndefined; SQM_ACCESS access = SQMModelMgr.LookupCredentials(ctx, SSOID, pwd, true); if (access != null) { string key = SQMModelMgr.GetPasswordKey(); // AW - for now, we want to allow if the password = the password OR the encrypted password string password = WebSiteCommon.Decrypt(access.PASSWORD, key); //string encrypt = WebSiteCommon.Encrypt(pwd, key); //string ss = encrypt; /* * if ((string.IsNullOrEmpty(pwd) && (SSOID.ToLower() != "admin")) || (pwd != password && pwd != access.PASSWORD)) * this.LoginStatus = LoginStatus.PasswordMismatch; */ //if (!string.IsNullOrEmpty(access.PASSWORD) && (pwd != password && pwd != access.PASSWORD)) if (pwd != password && pwd != access.PASSWORD) { this.LoginStatus = LoginStatus.PasswordMismatch; } else if (activeOnly && access.STATUS == "I") { this.LoginStatus = LoginStatus.Inactive; } else if (access.STATUS == "L") { this.LoginStatus = LoginStatus.Locked; } else { if ((this.Person = SQMModelMgr.LookupPerson(ctx, 0, access.SSO_ID, false)) == null) { this.LoginStatus = LoginStatus.PersonUndefined; } else { this.LoginStatus = LoginStatus.Success; this.HRLocation = new BusinessLocation().Initialize(SQMModelMgr.LookupCompany((decimal)this.Person.COMPANY_ID), SQMModelMgr.LookupBusOrg((decimal)this.Person.BUS_ORG_ID), SQMModelMgr.LookupPlant((decimal)this.Person.PLANT_ID)); if (this.HRLocation.Company == null) { this.LoginStatus = LoginStatus.CompanyUndefined; } else { this.PrivList = SQMModelMgr.SelectPrivGroupPerson(this.Person.PRIV_GROUP, "COMMON"); SessionManager.EffLocation = new BusinessLocation().Initialize(SQMModelMgr.LookupCompany((decimal)this.Person.COMPANY_ID), SQMModelMgr.LookupBusOrg((decimal)this.Person.BUS_ORG_ID), SQMModelMgr.LookupPlant((decimal)this.Person.PLANT_ID)); this.WorkingLocation = new BusinessLocation(); this.WorkingLocation = SessionManager.EffLocation; this.PlantAccessList = new List <decimal>(); this.PlantAccessList.Add(this.WorkingLocation.Plant.PLANT_ID); if (!string.IsNullOrEmpty(Person.NEW_LOCATION_CD)) { decimal plantID; string[] locs = Person.NEW_LOCATION_CD.Split(','); foreach (string locid in locs) { if (!string.IsNullOrEmpty(locid)) { if (decimal.TryParse(locid, out plantID) && plantID != this.WorkingLocation.Plant.PLANT_ID) { this.PlantAccessList.Add(plantID); } } } } access.LAST_LOGON_DT = WebSiteCommon.CurrentUTCTime(); int ctxstatus = 0; SQMModelMgr.UpdateCredentials(ctx, access, "", out ctxstatus); this.Credentials = access; this.TimeZoneID = this.HRLocation.Plant.LOCAL_TIMEZONE; this.LocalTime = !string.IsNullOrEmpty(this.TimeZoneID) ? WebSiteCommon.LocalTime(DateTime.UtcNow, this.TimeZoneID) : DateTime.UtcNow; this.Language = SQMModelMgr.LookupLanguage(ctx, "", this.Person.PREFERRED_LANG_ID.HasValue ? (int)this.Person.PREFERRED_LANG_ID : 1, false); if (SessionManager.CreateSessionContext(this) == null) { this.LoginStatus = LoginStatus.SessionError; } this.InboxReviews = 0; } } } } return(this); }
protected bool SaveUser(bool updateUser) { bool bErrors = false; bool success; Label lblErrorMessage = null; PERSON person = LocalPerson(); string currentSSOID = LocalPerson().SSO_ID; PERSON currentPerson = new PERSON(); if (isNew) { person.SSO_ID = string.IsNullOrEmpty(tbUserSSOID.Text) ? "" : tbUserSSOID.Text.Trim(); // trim traling blanks when creating new user } else { person = SQMModelMgr.LookupPerson(entities, person.PERSON_ID, "", false); person.SSO_ID = string.IsNullOrEmpty(tbUserSSOID.Text) ? "" : tbUserSSOID.Text; currentPerson.ROLE = person.ROLE; } person.FIRST_NAME = string.IsNullOrEmpty(tbUserFirstName.Text) ? "" : tbUserFirstName.Text; person.LAST_NAME = string.IsNullOrEmpty(tbUserLastName.Text) ? "" : tbUserLastName.Text; person.MIDDLE_NAME = string.IsNullOrEmpty(tbUserMiddleName.Text) ? "" : tbUserMiddleName.Text; person.JOBCODE_CD = ddlJobCode.SelectedValue; if (string.IsNullOrEmpty(ddlPrivGroup.SelectedValue)) { person.PRIV_GROUP = null; } else { person.PRIV_GROUP = ddlPrivGroup.SelectedValue; } person.PHONE = tbUserPhone.Text; person.EMAIL = tbUserEmail.Text; person.EMP_ID = tbEmpID.Text; person.SUPV_EMP_ID = tbSupvEmpID.Text; if (!string.IsNullOrEmpty(ddlUserLanguage.SelectedValue)) { person.PREFERRED_LANG_ID = Convert.ToInt32(ddlUserLanguage.SelectedValue); } if (!string.IsNullOrEmpty(ddlUserTimezone.SelectedValue)) { person.PREFERRED_TIMEZONE = ddlUserTimezone.SelectedValue; } person.COMPANY_ID = SessionManager.EffLocation.Company.COMPANY_ID; if (!string.IsNullOrEmpty(ddlHRLocation.SelectedValue)) { PLANT plant = SQMModelMgr.LookupPlant(Convert.ToDecimal(ddlHRLocation.SelectedValue)); if (plant != null) { person.PLANT_ID = plant.PLANT_ID; person.BUS_ORG_ID = (decimal)plant.BUS_ORG_ID; } } person.NEW_LOCATION_CD = ""; foreach (RadComboBoxItem item in SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect)) { if (string.IsNullOrEmpty(person.NEW_LOCATION_CD)) { person.NEW_LOCATION_CD = ","; } person.NEW_LOCATION_CD += (item.Value + ","); } person.OLD_LOCATION_CD = ""; /* quality module reference * foreach (RadComboBoxItem item in SQMBasePage.GetComboBoxCheckedItems(ddlCustPlantSelect)) * { * person.OLD_LOCATION_CD += (item.Value + ","); * } * person.OLD_LOCATION_CD = person.OLD_LOCATION_CD.TrimEnd(','); */ person.STATUS = ddlUserStatus.SelectedValue; // roles were originally a list - let's keep the logic below just in case we need to restore a multi-role strategy //person.PERSON_ROLE.Clear(); person.ROLE = 100; ///// person.RCV_ESCALATION = true; person.LOCKS = ""; if (cbUserEmailLock.Checked) { person.LOCKS += (LockField.email.ToString() + ","); } if (cbPrivGroupLock.Checked) { person.LOCKS += (LockField.priv.ToString() + ","); } if (cbHRLocationLock.Checked) { person.LOCKS += (LockField.plant.ToString() + ","); } if (cbUserLanguageLock.Checked) { person.LOCKS += (LockField.lang.ToString() + ","); } person.LOCKS = person.LOCKS.TrimEnd(','); SetLocalPerson(person); if (string.IsNullOrEmpty(tbUserSSOID.Text) || string.IsNullOrEmpty(tbUserFirstName.Text) || string.IsNullOrEmpty(tbUserLastName.Text) || ddlJobCode.SelectedIndex < 0 || string.IsNullOrEmpty(ddlHRLocation.SelectedValue) || string.IsNullOrEmpty(ddlHRLocation.SelectedValue)) { lblErrorMessage = lblErrRequiredInputs; } if (lblErrorMessage == null) { // AW20131106 - need to verify that the SSO_ID and email address are unique in the system lblDuplicateSSOId.Visible = false; lblDuplicateEmail.Visible = false; string strSSOId = tbUserSSOID.Text; string strEmail = tbUserEmail.Text; if (isNew) // || !strSSOId.Equals(person.SSO_ID)) { // verify unique sso_id strSSOId = tbUserSSOID.Text.Trim(); SQM.Website.PSsqmEntities ctxAccess = new PSsqmEntities(); SQM_ACCESS access = SQMModelMgr.LookupCredentials(ctxAccess, strSSOId, "", false); if (access != null && access.SSO_ID.ToLower().Equals(strSSOId.ToLower())) { lblErrorMessage = lblDuplicateSSOId; } } if (lblErrorMessage == null && (isNew || !strEmail.Equals(person.EMAIL))) { // verify unique email SQM.Website.PSsqmEntities ctxAccess = new PSsqmEntities(); //SQM_ACCESS access = SQMModelMgr.LookupCredentialsByEmail(ctxAccess, strEmail, false); // ABW 20140117 - we want to look up email on person record... PERSON personEmail = SQMModelMgr.LookupPersonByEmail(ctxAccess, strEmail); if (personEmail != null && personEmail.EMAIL.Trim().ToLower().Equals(strEmail.Trim().ToLower())) { lblErrorMessage = lblDuplicateEmail; } } } if (lblErrorMessage != null) { DisplayUser(); DisplayErrorMessage(lblErrorMessage); return(false); } if (updateUser) { string defaultPwd = ""; string environment = System.Configuration.ConfigurationManager.AppSettings["environment"].ToString(); string altEmail = !string.IsNullOrEmpty(environment) && environment.ToLower() == "dev" ? System.Configuration.ConfigurationManager.AppSettings["altEmail"].ToString() : ""; if (isNew) { SETTINGS pwdInitial = SQMSettings.SelectSettingByCode(entities, "COMPANY", "TASK", "PasswordDefault"); if (pwdInitial != null) { switch (pwdInitial.VALUE.ToUpper()) { case "LASTNAME": defaultPwd = person.LAST_NAME; break; case "EMPID": defaultPwd = person.EMP_ID; break; default: break; } } } SetLocalPerson(SQMModelMgr.UpdatePerson(entities, person, SessionManager.UserContext.UserName(), false, currentSSOID, defaultPwd)); //selectedUser = SQMModelMgr.UpdatePerson(entities, person, SessionManager.UserContext.UserName(), Convert.ToBoolean(GetFindControlValue("cbIsBuyer", hfBase, out success)), GetFindControlValue("tbBuyerCode", hfBase, out success)); // AW20131106 - send an email for new users with random password generation List <SETTINGS> MailSettings = SQMSettings.SelectSettingsGroup("MAIL", ""); // ABW 20140805 SETTINGS setting = new SETTINGS(); // ABW 20140805 setting = MailSettings.Find(x => x.SETTING_CD == "MailFromSystem"); // ABW 20140805 string strEmailCompanyName = ""; // ABW 20140805 if (setting != null) // ABW 20140805 { strEmailCompanyName = setting.VALUE; } bool sendEmail = false; setting = MailSettings.Find(x => x.SETTING_CD == "SendNewUserEmail"); if (setting != null && setting.VALUE.ToLower().Equals("true")) // ABW 20140805 { sendEmail = true; } List <XLAT> XLATList = SQMBasePage.SelectXLATList(new string[1] { "USER_EMAIL" }, 0); string strEmailSubject = ""; string strEmailBody = ""; LOCAL_LANGUAGE lang = SQMModelMgr.LookupLanguage(new PSsqmEntities(), "", (int)person.PREFERRED_LANG_ID, false); string strTemp = ""; if (isNew && (string.IsNullOrEmpty(defaultPwd) || sendEmail)) // send email notice only when a default password was not set { // send a confirmation email // string strength = WebConfigurationManager.AppSettings["PasswordComplexity"]; // ABW 20140805 SETTINGS complexity = SQMSettings.SelectSettingByCode(entities, "COMPANY", "TASK", "PasswordComplexity"); // ABW 20140805 string strength = ""; // ABW 20140805 if (complexity == null) { strength = "4"; } else { strength = complexity.VALUE; } SQM.Website.PSsqmEntities ctxAccess = new PSsqmEntities(); SQM_ACCESS access = SQMModelMgr.LookupCredentials(ctxAccess, LocalPerson().SSO_ID, "", false); string key = SQMModelMgr.GetPasswordKey(); string strPassword = WebSiteCommon.Decrypt(access.PASSWORD, key); // ABW 20140805 - Build the email based on fields in the SETTINGS table //string strEmailSubject = ""; //setting = MailSettings.Find(x => x.SETTING_CD == "NewUserSubject"); //if (setting == null) // strEmailSubject = strEmailCompanyName + " " + lblPasswordEmailSubject.Text.ToString(); //else // strEmailSubject = setting.VALUE.Trim(); //setting = MailSettings.Find(x => x.SETTING_CD == "NewUserWelcome"); //string strEmailBody = ""; //if (setting == null) // strEmailBody = lblPasswordEmailBody1a.Text.ToString(); //else // strEmailBody = setting.VALUE.Trim(); //strEmailBody += lblPasswordEmailBody1b.Text.ToString() + " " + LocalPerson().SSO_ID + lblPasswordEmailBody2.Text.ToString() + " " + strPassword; //setting = MailSettings.Find(x => x.SETTING_CD == "MailURL"); //if (setting != null) // strEmailBody += lblPasswordEmailBody2b.Text.ToString() + "<a href='" + setting.VALUE + "'>" + setting.VALUE + "</a>"; //complexity = SQMSettings.SelectSettingByCode(entities, "PASSWORDCOMPLEXITY", "TASK", strength); // ABW 20140805 //if (complexity != null) // strEmailBody += "<br><br>" + complexity.VALUE + "<br><br>"; //setting = MailSettings.Find(x => x.SETTING_CD == "NewUserSignature"); //if (setting == null) // strEmailBody += "<br><br>" + lblPasswordEmailBody3.Text.ToString(); //else // strEmailBody += "<br><br>" + setting.VALUE.Trim(); // ABW 20160115 - Build the email based on fields in the XLAT table strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserSubject", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailSubject = strEmailCompanyName + " " + lblPasswordEmailSubject.Text.ToString(); } else { strEmailSubject = strTemp.Trim(); } strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserWelcome", lang.NLS_LANGUAGE).DESCRIPTION; strEmailBody = ""; if (strTemp == null || strTemp == "") { strEmailBody = lblPasswordEmailBody1a.Text.ToString(); } else { strEmailBody = strTemp.Trim(); } strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserBodyUsername", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBody += lblPasswordEmailBody1b.Text.ToString(); } else { strEmailBody += strTemp.Trim(); } strEmailBody += " " + LocalPerson().SSO_ID; strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserBodyPassword", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBody += lblPasswordEmailBody2.Text.ToString(); } else { strEmailBody += strTemp.Trim(); } strEmailBody += " " + strPassword; strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserBodyUrl", lang.NLS_LANGUAGE).DESCRIPTION; string strUrlLabel = ""; if (strTemp == null || strTemp == "") { strUrlLabel = lblPasswordEmailBody2b.Text.ToString(); } else { strUrlLabel = strTemp.Trim(); } setting = MailSettings.Find(x => x.SETTING_CD == "MailURL"); if (setting != null) { strEmailBody += strUrlLabel + " <a href='" + setting.VALUE + "'>" + setting.VALUE + "</a>"; } complexity = SQMSettings.SelectSettingByCode(entities, "PASSWORDCOMPLEXITY", "TASK", strength); // ABW 20140805 if (complexity != null) { strEmailBody += "<br><br>" + complexity.VALUE + "<br><br>"; } strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserSignature", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBody += "<br><br>" + lblPasswordEmailBody3.Text.ToString(); } else { strEmailBody += "<br><br>" + strTemp.Trim(); } // ABW 20140117 - we are now using the email on the Person record /* * Thread thread = new Thread(() => WebSiteCommon.SendEmail(person.EMAIL, strEmailSubject, strEmailBody.Trim(), "")); * thread.IsBackground = true; * thread.Start(); */ string mailStatus = WebSiteCommon.SendEmail(person.EMAIL, strEmailSubject, strEmailBody.Trim(), ""); EHSNotificationMgr.WriteEmailLog(entities, person.EMAIL, "", strEmailSubject, strEmailBody, 0, LocalPerson().PERSON_ID, ("user password notification - is new = " + isNew.ToString()), mailStatus, altEmail); } else { bool roleChanged = person.ROLE != currentPerson.ROLE ? true : false; // ABW 20160115 - send an email based on a parameter setting = MailSettings.Find(x => x.SETTING_CD == "SendChangeUserEmail"); if (setting != null && setting.VALUE.ToLower().Equals("true")) { sendEmail = true; } else { sendEmail = false; } if (roleChanged && sendEmail) { //ABW 20140805 - Build the email based on fields in the SETTINGS table //strEmailSubject = ""; //setting = MailSettings.Find(x => x.SETTING_CD == "AdminRoleChangeSubject"); //if (setting == null) // strEmailSubject = lblUserRoleEmailSubjecta.Text + strEmailCompanyName + lblUserRoleEmailSubjectb.Text; //else // strEmailSubject = setting.VALUE.Trim(); //setting = MailSettings.Find(x => x.SETTING_CD == "AdminRoleChangeWelcome"); //string strEmailBody = ""; //if (setting == null) // strEmailBody = lblUserRoleEmailBodya.Text + strEmailCompanyName + lblUserRoleEmailBodyb.Text; //else // strEmailBody = setting.VALUE.Trim(); //setting = MailSettings.Find(x => x.SETTING_CD == "AdminRoleChangeSignature"); //if (setting == null) // strEmailBody += "<br><br>" + lblUserRoleEmailBodyc.Text; //else // strEmailBody += "<br><br>" + setting.VALUE.Trim(); //ABW 20160115 - Build the email based on fields in the XLAT table strEmailSubject = ""; strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "AdminRoleChangeSubject", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailSubject = lblUserRoleEmailSubjecta.Text + strEmailCompanyName + lblUserRoleEmailSubjectb.Text; } else { strEmailSubject = strTemp.Trim(); } strEmailBody = ""; strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "AdminRoleChangeWelcome", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBody = lblUserRoleEmailBodya.Text + strEmailCompanyName + lblUserRoleEmailBodyb.Text; } else { strEmailBody = strTemp.Trim(); } setting = MailSettings.Find(x => x.SETTING_CD == "AdminRoleChangeSignature"); strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "AdminRoleChangeSignature", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBody += "<br><br>" + lblUserRoleEmailBodyc.Text; } else { strEmailBody += strTemp.Trim(); } /* * Thread thread = new Thread(() => WebSiteCommon.SendEmail(person.EMAIL, strEmailSubject, strEmailBody, "")); * thread.IsBackground = true; * thread.Start(); */ string mailStatus = WebSiteCommon.SendEmail(person.EMAIL, strEmailSubject, strEmailBody, ""); EHSNotificationMgr.WriteEmailLog(entities, person.EMAIL, "", strEmailSubject, strEmailBody, 0, LocalPerson().PERSON_ID, "user role changed", mailStatus, altEmail); } if (cbResetPassword.Checked) // always send an email when the password changes { // build the email body in 3 segments SETTINGS complexity = SQMSettings.SelectSettingByCode(entities, "COMPANY", "TASK", "PasswordComplexity"); string strength = ""; if (complexity == null) { strength = "4"; } else { strength = complexity.VALUE; } // ABW 20140805 - Build the email based on fields in the SETTINGS table //string strEmailSubject = ""; //setting = MailSettings.Find(x => x.SETTING_CD == "AdminPasswordResetSubject"); //if (setting == null) // strEmailSubject = strEmailCompanyName + " " + lblResetEmailSubject.Text.ToString(); //else // strEmailSubject = setting.VALUE.Trim(); //setting = MailSettings.Find(x => x.SETTING_CD == "AdminPasswordResetWelcome"); //string strEmailBodya = ""; //string strEmailBodyb = ""; //string strEmailBodyc = ""; //if (setting == null) // strEmailBodya = lblPasswordEmailBody1a.Text.ToString(); //else // strEmailBodya = setting.VALUE.Trim(); //strEmailBodya += lblPasswordEmailBody1b.Text.ToString(); //strEmailBodyb = lblPasswordEmailBody2.Text.ToString(); //setting = MailSettings.Find(x => x.SETTING_CD == "MailURL"); //if (setting != null) // strEmailBodyc += lblPasswordEmailBody2b.Text.ToString() + "<a href='" + setting.VALUE + "'>" + setting.VALUE + "</a>"; //complexity = SQMSettings.SelectSettingByCode(entities, "PASSWORDCOMPLEXITY", "TASK", strength); //if (complexity != null) // strEmailBodyc += "<br><br>" + complexity.VALUE + "<br><br>"; //setting = MailSettings.Find(x => x.SETTING_CD == "AdminPasswordResetSignature"); //if (setting == null) // strEmailBodyc += "<br><br>" + lblPasswordEmailBody3.Text.ToString(); //else // strEmailBodyc += "<br><br>" + setting.VALUE.Trim(); // ABW 20160115 - Build the email based on fields in the XLAT table strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "AdminPasswordResetSubject", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailSubject = strEmailCompanyName + " " + lblPasswordEmailSubject.Text.ToString(); } else { strEmailSubject = strTemp.Trim(); } string strEmailBodya = ""; string strEmailBodyb = ""; string strEmailBodyc = ""; strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "AdminPasswordResetWelcome", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBodya = lblResetEmailBody1a.Text.ToString(); } else { strEmailBodya = strTemp.Trim(); } strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserBodyUsername", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBodya += lblPasswordEmailBody1b.Text.ToString(); } else { strEmailBodya += strTemp.Trim(); } strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserBodyPassword", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBodyb = lblPasswordEmailBody2.Text.ToString(); } else { strEmailBodyb = strTemp.Trim(); } strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserBodyUrl", lang.NLS_LANGUAGE).DESCRIPTION; string strUrlLabel = ""; if (strTemp == null || strTemp == "") { strUrlLabel = lblPasswordEmailBody2b.Text.ToString(); } else { strUrlLabel = strTemp.Trim(); } setting = MailSettings.Find(x => x.SETTING_CD == "MailURL"); if (setting != null) { strEmailBodyc += strUrlLabel.Trim() + "<a href='" + setting.VALUE + "'>" + setting.VALUE + "</a>"; } complexity = SQMSettings.SelectSettingByCode(entities, "PASSWORDCOMPLEXITY", "TASK", strength); if (complexity != null) { strEmailBodyc += "<br><br>" + complexity.VALUE + "<br><br>"; } strTemp = SQMBasePage.GetXLAT(XLATList, "USER_EMAIL", "NewUserSignature", lang.NLS_LANGUAGE).DESCRIPTION; if (strTemp == null || strTemp == "") { strEmailBodyc += "<br><br>" + lblPasswordEmailBody3.Text.ToString(); } else { strEmailBodyc += "<br><br>" + strTemp.Trim(); } int msg = WebSiteCommon.RecoverPassword(person.EMAIL, person.SSO_ID, strEmailSubject, strEmailBodya, strEmailBodyb, strEmailBodyc); EHSNotificationMgr.WriteEmailLog(entities, person.EMAIL, "", strEmailSubject, strEmailBodya, 0, LocalPerson().PERSON_ID, "recover password", msg.ToString(), altEmail); } } isNew = false; if (SQMModelMgr.updateStatus < 0) // report error { AlertUpdateResult(SQMModelMgr.updateStatus); } } else { SetLocalPerson(person); } return(true); }