public void LoadExportInput() { string searchcriteria = ""; string plantList = ""; DateTime dtFrom = DateTime.Today; DateTime dtTo = DateTime.Today; uclProgress.BindProgressDisplay(100, "Exporting: "); uclProgress.UpdateDisplay(1, 10, "Exporting..."); foreach (RadComboBoxItem item in SQMBasePage.GetComboBoxCheckedItems(ddlExportPlantSelect)) { if (radExportDateSelect1.SelectedDate != null) { if (plantList.Length > 0) { plantList += ", "; } plantList += item.Value; } } try { dtFrom = radExportDateSelect1.SelectedDate.Value; dtTo = radExportDateSelect2.SelectedDate.Value; } catch { } GenerateExportHistoryExcel(plantList, dtFrom, dtTo); uclProgress.ProgressComplete(); }
public void LoadIncidentExportInput() { string searchcriteria = ""; string plantList = ""; DateTime dtFrom = DateTime.Today; DateTime dtTo = DateTime.Today; uclProgress.BindProgressDisplay(100, "Exporting: "); uclProgress.UpdateDisplay(1, 10, "Exporting..."); try { dtFrom = new DateTime(radExportDateSelect1.SelectedDate.Value.Year, radExportDateSelect1.SelectedDate.Value.Month, 1); } catch { dtFrom = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); } try { dtTo = new DateTime(radExportDateSelect2.SelectedDate.Value.Year, radExportDateSelect2.SelectedDate.Value.Month, 1).AddMonths(1).AddDays(-1); } catch { dtTo = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).AddMonths(1).AddDays(-1); } List <decimal> plantIDS = SQMBasePage.GetComboBoxCheckedItems(ddlExportPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToList(); List <decimal> typeList = ddlExportIncidentType.Items.Where(i => i.Checked == true).Select(i => Convert.ToDecimal(i.Value)).ToList(); HSCalcs = new SQMMetricMgr().CreateNew(SessionManager.PrimaryCompany(), "0", dtFrom, dtTo, new decimal[0]); HSCalcs.ehsCtl = new EHSCalcsCtl().CreateNew(1, DateSpanOption.SelectRange); HSCalcs.ehsCtl.SelectIncidentList(plantIDS, typeList, dtFrom, dtTo, ddlExportStatusSelect.SelectedValue, false); GenerateIncidentExportExcel(HSCalcs.ehsCtl.IncidentHst); uclProgress.ProgressComplete(); }
public void LoadProfileInput() { divProfilePeriodScrollRepeater.Visible = true; SetLocalProfileList(new List <EHSProfile>()); foreach (RadComboBoxItem item in SQMBasePage.GetComboBoxCheckedItems(ddlExportPlantSelect)) { if (radExportDateSelect1.SelectedDate != null) { EHSProfile profile = new EHSProfile().Load(Convert.ToDecimal(item.Value), false, true); if (profile.Profile != null) { profile.LoadPeriod((DateTime)radExportDateSelect1.SelectedDate); profile.MapPlantAccountingInputs(true, true); LocalProfileList().Add(profile); } } } rptProfile.DataSource = LocalProfileList(); rptProfile.DataBind(); if (UserContext.GetMaxScopePrivilege(SysScope.envdata) <= SysPriv.config) { btnRollupAll.Visible = true; } }
public void GenerateEmissionsReport() { string plantList = ""; foreach (RadComboBoxItem item in SQMBasePage.GetComboBoxCheckedItems(ddlExportPlantSelect)) { if (radExportDateSelect1.SelectedDate != null) { if (plantList.Length > 0) { plantList += ", "; } plantList += item.Value; } } try { decimal[] plantArray = Array.ConvertAll(plantList.Split(','), new Converter <string, decimal>(decimal.Parse)); SQMMetricMgr metricMgr = new SQMMetricMgr().CreateNew(SessionManager.PrimaryCompany(), "E", radExportDateSelect1.SelectedDate.Value, radExportDateSelect2.SelectedDate.Value, plantArray); metricMgr.Load(DateIntervalType.month, DateSpanOption.SelectRange); CalcsResult rslt = metricMgr.CalcsMethods(plantArray, "E", "ghg|co2,ch4,n2o", "gwp100|sum", 22, (int)EHSCalcsCtl.SeriesOrder.YearMeasurePlant); EHSModel.GHGResultList ghgTable = (EHSModel.GHGResultList)rslt.ResultObj; uclGHGReport.BindGHGReport(ghgTable); } catch { } }
private void SearchAudits() { string selectedValue = ""; DateTime fromDate = Convert.ToDateTime(dmFromDate.SelectedDate); DateTime toDate = Convert.ToDateTime(dmToDate.SelectedDate); if (toDate < fromDate) { return; } toDate = new DateTime(toDate.Year, toDate.Month, toDate.Day, 23, 59, 59); List <decimal> plantIDS = SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToList(); var typeList = new List <decimal>(); List <string> statusList = new List <string>(); if (Mode == AuditMode.Audit) { if (HSCalcs() == null) { foreach (RadComboBoxItem item in rcbAuditType.Items) { item.Checked = true; } } typeList = rcbAuditType.Items.Where(c => c.Checked).Select(c => Convert.ToDecimal(c.Value)).ToList(); selectedValue = rcbStatusSelect.SelectedValue; } SetHSCalcs(new SQMMetricMgr().CreateNew(SessionManager.PrimaryCompany(), "0", fromDate, toDate, new decimal[0])); HSCalcs().ehsCtl = new EHSCalcsCtl().CreateNew(1, DateSpanOption.SelectRange, "0"); //HSCalcs().ObjAny = cbShowImage.Checked; HSCalcs().ehsCtl.SelectAuditExceptionList(plantIDS, typeList, fromDate, toDate, true); // may want to access only the ones assigned to that person //if (accessLevel < AccessMode.Admin) // HSCalcs().ehsCtl.AuditHst = (from i in HSCalcs().ehsCtl.AuditHst where i.Audit.ISSUE_TYPE_ID != 10 select i).ToList(); bool allAuditAccess = SessionManager.CheckUserPrivilege(SysPriv.admin, SysScope.audit); if (!allAuditAccess) { HSCalcs().ehsCtl.AuditHst = (from i in HSCalcs().ehsCtl.AuditHst where i.Audit.AUDIT_PERSON == SessionManager.UserContext.Person.PERSON_ID select i).ToList(); } if (HSCalcs().ehsCtl.AuditHst != null) { HSCalcs().ehsCtl.AuditHst.OrderByDescending(x => x.Audit.AUDIT_DT); uclAuditExceptionList.BindAuditListRepeater(HSCalcs().ehsCtl.AuditHst, "EHS"); } //} }
private void SearchAuditSchedulers() { string selectedValue = ""; List <decimal> plantIDS = SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToList(); var typeList = new List <decimal>(); typeList = rcbAuditType.Items.Where(c => c.Checked).Select(c => Convert.ToDecimal(c.Value)).ToList(); selectedValue = rcbStatusSelect.SelectedValue; List <int> dayofweekList = SQMBasePage.GetComboBoxCheckedItems(rcbScheduleDay).Select(i => Convert.ToInt32(i.Value)).ToList(); EHSCalcsCtl calcs = new EHSCalcsCtl(); List <EHSAuditSchedulerData> scheduler = calcs.SelectAuditSchedulerList(plantIDS, typeList, dayofweekList, selectedValue); uclAuditScheduleList.BindAuditListRepeater(scheduler, "EHS"); pnlAuditDetails.Visible = lnkAuditDetailsClose.Visible = false; HtmlGenericControl div = (HtmlGenericControl)uclAuditScheduleDetail.FindControl("divAuditForm"); div.Visible = false; }
protected void lnkCreateTasks_Click(object sender, EventArgs e) { TASK_STATUS task = null; localCtx = new PSsqmEntities(); List <TASK_STATUS> alertTaskList = EHSIncidentMgr.GetAlertTaskList(localCtx, LocalIncident.INCIDENT_ID); string[] plantSels = SQMBasePage.GetComboBoxCheckedItems(ddlLocations).Select(l => l.Value).ToArray(); foreach (string sel in plantSels) { if ((task = alertTaskList.Where(l => l.RECORD_SUBID == Convert.ToDecimal(sel)).FirstOrDefault()) == null) { task = new TASK_STATUS(); task.RECORD_TYPE = (int)TaskRecordType.HealthSafetyIncident; task.RECORD_ID = LocalIncident.INCIDENT_ID; // task.DESCRIPTION = tbAlertDesc.Text; task.DETAIL = tbComments.Text; task.RECORD_SUBID = Convert.ToDecimal(sel); task.DUE_DT = rdpDueDate.SelectedDate; List <PERSON> responsibleList = SQMModelMgr.SelectPlantPrivgroupPersonList((decimal)task.RECORD_SUBID, new string[1] { ddlResponsibleGroup.SelectedValue }, false); if (responsibleList.Count > 0) { task.RESPONSIBLE_ID = responsibleList.First().PERSON_ID; } alertTaskList.Add(task); } } if (BindTAlertaskList(alertTaskList) > 0) { btnSave.Enabled = true; } }
public void LoadMetricHistory() { SetLocalProfileList(new List <EHSProfile>()); foreach (RadComboBoxItem item in SQMBasePage.GetComboBoxCheckedItems(ddlExportPlantSelect)) { if (radExportDateSelect1.SelectedDate != null) { EHSProfile profile = new EHSProfile().Load(Convert.ToDecimal(item.Value), false, true); if (profile.Profile != null) { LocalProfileList().Add(profile); DateTime fromDate = (DateTime)radExportDateSelect1.SelectedDate; DateTime toDate = new DateTime(radExportDateSelect2.SelectedDate.Value.Year, radExportDateSelect2.SelectedDate.Value.Month, DateTime.DaysInMonth(radExportDateSelect1.SelectedDate.Value.Year, radExportDateSelect1.SelectedDate.Value.Month)); EHSCalcsCtl esMgr = new EHSCalcsCtl().CreateNew(SessionManager.FYStartDate().Month, DateSpanOption.SelectRange).LoadMetricHistory(new decimal[1] { profile.Plant.PLANT_ID }, fromDate, toDate, DateIntervalType.month, false); uclHistoryList.BindHistoryList(profile, esMgr.MetricHst); } } } }
private void SearchVideos() { string selectedValue = ""; DateTime fromDate = Convert.ToDateTime(dmFromDate.SelectedDate); DateTime toDate = Convert.ToDateTime(dmToDate.SelectedDate); if (toDate < fromDate) { return; } toDate = new DateTime(toDate.Year, toDate.Month, toDate.Day, 23, 59, 59); List <decimal> plantIDS = SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToList(); List <string> videoTypes = SQMBasePage.GetComboBoxCheckedItems(rcbVideoType).Select(i => i.Value).ToList(); string selectedType = rcbVideoSource.SelectedValue.ToString(); List <decimal> types = new List <decimal>(); if (rcbVideoSource.SelectedValue.ToString().Equals("")) { types.Add(0); } else { foreach (RadComboBoxItem item in rcbVideoSource.Items) { if (!item.Value.Equals("") && item.Selected) { types.Add(Convert.ToDecimal(item.Value.ToString())); } } } List <string> injuryTypes = new List <string>(); if (rcbInjuryType.SelectedValue.ToString().Equals("")) { injuryTypes.Add("0"); } else { foreach (RadComboBoxItem item in rcbInjuryType.Items) { if (!item.Value.Equals("") && item.Selected) { injuryTypes.Add(item.Value.ToString()); } } } List <string> bodyParts = new List <string>(); if (rcbBodyPart.SelectedValue.ToString().Equals("")) { bodyParts.Add("0"); } else { foreach (RadComboBoxItem item in rcbBodyPart.Items) { if (!item.Value.Equals("") && item.Selected) { bodyParts.Add(item.Value.ToString()); } } } string videoOwner = rcbVideoOwner.SelectedValue.ToString(); decimal videoOwnerId = 0; if (videoOwner == "own") { videoOwnerId = SessionManager.UserContext.Person.PERSON_ID; } List <MediaVideoData> videos = MediaVideoMgr.SelectVideoList(plantIDS, types, fromDate, toDate, rcbVideoStatusSelect.SelectedValue.ToString(), tbKeyWord.Text.ToString().ToLower(), injuryTypes, bodyParts, videoTypes, videoOwnerId); // we don't want to list any videos that have a negative source id. these could be videos in process or orphaned on the Incident pages videos = videos.Where(q => q.Video.SOURCE_ID >= 0).ToList(); uclVideoList.BindVideoListRepeater(videos, "Media"); //List<string> statusList = new List<string>(); // typeList = rcbVideoType.Items.Where(c => c.Checked).Select(c => Convert.ToDecimal(c.Value)).ToList(); // selectedValue = rcbVideoStatusSelect.SelectedValue; //SetHSCalcs(new SQMMetricMgr().CreateNew(SessionManager.PrimaryCompany(), "0", fromDate, toDate, new decimal[0])); //HSCalcs().ehsCtl = new EHSCalcsCtl().CreateNew(1, DateSpanOption.SelectRange); ////HSCalcs().ObjAny = cbShowImage.Checked; //HSCalcs().ehsCtl.SelectAuditList(plantIDS, typeList, fromDate, toDate, selectedValue); //// may want to access only the ones assigned to that person ////if (accessLevel < AccessMode.Admin) //// HSCalcs().ehsCtl.AuditHst = (from i in HSCalcs().ehsCtl.AuditHst where i.Audit.ISSUE_TYPE_ID != 10 select i).ToList(); //bool allAuditAccess = SessionManager.CheckUserPrivilege(SysPriv.admin, SysScope.audit); //if (!allAuditAccess) // HSCalcs().ehsCtl.AuditHst = (from i in HSCalcs().ehsCtl.AuditHst where i.Audit.AUDIT_PERSON == SessionManager.UserContext.Person.PERSON_ID select i).ToList(); //if (HSCalcs().ehsCtl.AuditHst != null) //{ // HSCalcs().ehsCtl.AuditHst.OrderByDescending(x => x.Audit.AUDIT_DT); // uclAuditList.BindAuditListRepeater(HSCalcs().ehsCtl.AuditHst, "EHS"); //} ////} //pnlAuditDetails.Visible = lnkAuditDetailsClose.Visible = false; }
private void SearchIncidents() { string selectedValue = ""; DateTime fromDate = Convert.ToDateTime(dmFromDate.SelectedDate); DateTime toDate = Convert.ToDateTime(dmToDate.SelectedDate); if (toDate < fromDate) { return; } toDate = new DateTime(toDate.Year, toDate.Month, toDate.Day, 23, 59, 59); List <decimal> plantIDS = SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToList(); var typeList = new List <decimal>(); List <string> statusList = new List <string>(); if (Mode == IncidentMode.Incident) { if (HSCalcs() == null) { foreach (RadComboBoxItem item in rcbIncidentType.Items) { item.Checked = true; } } typeList = rcbIncidentType.Items.Where(c => c.Checked).Select(c => Convert.ToDecimal(c.Value)).ToList(); selectedValue = rcbStatusSelect.SelectedValue; } else if (Mode == IncidentMode.Prevent) { typeList = EHSIncidentMgr.SelectPreventativeTypeList(SessionManager.PrimaryCompany().COMPANY_ID).Select(l => l.INCIDENT_TYPE_ID).ToList(); statusList = SQMBasePage.GetComboBoxCheckedItems(rcbFindingsSelect).Select(l => l.Value).ToList(); } SetHSCalcs(new SQMMetricMgr().CreateNew(SessionManager.PrimaryCompany(), "0", fromDate, toDate, new decimal[0])); HSCalcs().ehsCtl = new EHSCalcsCtl().CreateNew(1, DateSpanOption.SelectRange); HSCalcs().ObjAny = cbShowImage.Checked; if (selectedValue == "T") { HSCalcs().ehsCtl.SelectIncidentList(plantIDS, typeList, fromDate, toDate, "A", false); List <EHSIncidentData> actionList = new List <EHSIncidentData>(); foreach (EHSIncidentData data in HSCalcs().ehsCtl.IncidentHst) { if (data.EntryList.Where(l => l.INCIDENT_QUESTION_ID == (decimal)EHSQuestionId.Create8D && l.ANSWER_VALUE != "Yes").Count() > 0) { // if (data.Incident.INCIDENT_ANSWER.Where(l => l.INCIDENT_QUESTION_ID == (decimal)EHSQuestionId.Create8D && l.ANSWER_VALUE != "Yes").Count() > 0) actionList.Add(data); } } HSCalcs().ehsCtl.IncidentHst = actionList; if (!UserContext.CheckUserPrivilege(SysPriv.admin, SysScope.incident)) { actionList = HSCalcs().ehsCtl.IncidentHst = (from i in HSCalcs().ehsCtl.IncidentHst where i.Incident.ISSUE_TYPE_ID != 10 select i).ToList(); } if (actionList != null) { uclIncidentList.BindIncidentActionList(actionList, "EHS"); } } else { if (Mode == IncidentMode.Incident) { HSCalcs().ehsCtl.SelectIncidentList(plantIDS, typeList, fromDate, toDate, selectedValue, cbShowImage.Checked); } else if (Mode == IncidentMode.Prevent) { List <string> inspectionCatetoryList = new List <string>(); inspectionCatetoryList.AddRange(rcbInspectCatetory.Items.Where(c => c.Checked).Select(c => c.Value).ToList()); List <string> recommendationTypeList = new List <string>(); recommendationTypeList.AddRange(rcbRecommendationType.Items.Where(c => c.Checked).Select(c => c.Value).ToList()); HSCalcs().ehsCtl.SelectPreventativeList(plantIDS, typeList, inspectionCatetoryList, recommendationTypeList, fromDate, toDate, statusList, cbShowImage.Checked); } if (!UserContext.CheckUserPrivilege(SysPriv.admin, SysScope.incident)) { HSCalcs().ehsCtl.IncidentHst = (from i in HSCalcs().ehsCtl.IncidentHst where i.Incident.ISSUE_TYPE_ID != 10 select i).ToList(); } if (HSCalcs().ehsCtl.IncidentHst != null) { //HSCalcs().ehsCtl.IncidentHst.OrderByDescending(x => x.Incident.INCIDENT_DT); if (Mode == IncidentMode.Incident) { uclIncidentList.BindIncidentListRepeater(HSCalcs().ehsCtl.IncidentHst.OrderByDescending(x => x.Incident.INCIDENT_ID).ToList(), "EHS", cbShowImage.Checked, false); } else if (Mode == IncidentMode.Prevent) { uclIncidentList.BindPreventativeListRepeater(HSCalcs().ehsCtl.IncidentHst.OrderByDescending(x => x.Incident.INCIDENT_ID).ToList(), "EHS", cbShowImage.Checked); } } } if (HSCalcs().ehsCtl.IncidentHst != null && HSCalcs().ehsCtl.IncidentHst.Count > 0) { lblChartType.Visible = ddlChartType.Visible = true; } pnlIncidentDetails.Visible = lnkIncidentDetailsClose.Visible = false; if (ddlChartType.SelectedValue != "") { ddlChartTypeChange(null, null); } }
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(); if (Mode == IncidentMode.Prevent) { view = ViewModel.LookupView(entities, "HSCA", "HSCA", 0); } else { view = ViewModel.LookupView(entities, "HSIR", "HSIR", 0); } 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).IncidentSeries((EHSCalcsCtl.SeriesOrder)vi.SERIES_ORDER, SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToArray(), new DateTime(1900, 1, 1), DateTime.Now.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; } } } }
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.JOB_TITLE = tbUserTitle.Text; person.PHONE = tbUserPhone.Text; person.EMAIL = tbUserEmail.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)) { person.NEW_LOCATION_CD += (item.Value + ","); } person.NEW_LOCATION_CD = person.NEW_LOCATION_CD.TrimEnd(','); person.OLD_LOCATION_CD = ""; 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 = GetSelectedUserRole(); person.RCV_ESCALATION = cbUserRcvEscalation.Checked; person.PERSON_ACCESS.Clear(); string prod = ""; foreach (RadComboBoxItem accessItem in ddlModuleAccess.Items) { if (accessItem.IsSeparator) { prod = accessItem.Value; } if (accessItem.Checked || person.ROLE <= 100) { person = SQMModelMgr.AddPersonAccess(person, prod, accessItem.Value, true); } } SetLocalPerson(person); if (string.IsNullOrEmpty(tbUserSSOID.Text) || string.IsNullOrEmpty(tbUserFirstName.Text) || string.IsNullOrEmpty(tbUserLastName.Text) || string.IsNullOrEmpty(tbUserEmail.Text) || ddlUserRole.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) { List <SETTINGS> MailSettings = SQMSettings.SelectSettingsGroup("MAIL", ""); // ABW 20140805 SETTINGS setting = new SETTINGS(); // ABW 20140805 SetLocalPerson(SQMModelMgr.UpdatePerson(entities, person, SessionManager.UserContext.UserName(), false, currentSSOID)); //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 setting = MailSettings.Find(x => x.SETTING_CD == "MailFromSystem"); // ABW 20140805 string strEmailCompanyName = ""; // ABW 20140805 if (setting != null) // ABW 20140805 { strEmailCompanyName = setting.VALUE; } if (isNew) { // 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 // the following is standard email //string strEmailBody = lblPasswordEmailBody1a.Text.ToString() + strEmailCompanyName + lblPasswordEmailBody1b.Text.ToString() + " " + selectedUser.SSO_ID + lblPasswordEmailBody2.Text.ToString() + " " + strPassword; //strEmailBody += "<br><br>" + WebSiteCommon.GetXlatValueLong("passwordComplexity", strength) + "<br><br>" + lblPasswordEmailBody3.Text.ToString().Trim(); // the following is for TI only //string strEmailBody = "Risk Management Professional,<br><br>TI Automotive Risk Management is pleased to offer you access to the TI Automotive Risk Management Portal (Portal)<br><br>The Portal will be used to provide tracking for:<br>"; //strEmailBody += "<ul><li>Environmental performance tracking</li><li>Insurer Recommendations response</li><li>Internal Risk Quality Index Recommendations Response</li><li>Safety Alerts</li>"; //strEmailBody += "<br>A new user account has been created for you in the Portal.<br><br>Access the website by clicking on the link: <a href='http://Ti.qai.luxinteractive.com'>Ti.qai.luxinteractive.com</a><br><br>"; //strEmailBody += "Your username has been assigned: <font color='red'>" + selectedUser.SSO_ID + "</font><br>Your temporary password is: <font color='red'>" + strPassword + "</font>"; //strEmailBody += "<br>Once you gain access to the Portal you must change your password. " + WebSiteCommon.GetXlatValueLong("passwordComplexity", strength) + "<br><br>" + lblPasswordEmailBody3.Text.ToString().Trim(); //strEmailBody += "<br><br><b>Michael D. Wildfong</b><br>Global Director Facilities Risk Management<br>TI Automotive<br>1272 Doris Road<br>Auburn Hills, MI 48326<br>t: +1 248 494 5320<br>m: + 1 810 265 1677<br>f: +1 248 494 5302"; //strEmailBody += "<br>e: <a href='mailto:[email protected]'>[email protected]</a>"; // 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 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(); } else { bool roleChanged = person.ROLE != currentPerson.ROLE || person.PERSON_ACCESS.Count != currentPerson.PERSON_ACCESS.Count ? true : false; if (roleChanged) { // string strEmailBody = lblUserRoleEmailBodya.Text + strEmailCompanyName + lblUserRoleEmailBodyb.Text + "<br><br>" + lblUserRoleEmailBodyc.Text; // ABW 20140805 - Build the email based on fields in the SETTINGS table string 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(); } Thread thread = new Thread(() => WebSiteCommon.SendEmail(person.EMAIL, strEmailSubject, strEmailBody, "")); thread.IsBackground = true; thread.Start(); } if (cbResetPassword.Checked) { // 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; } 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(); } int msg = WebSiteCommon.RecoverPassword(person.EMAIL, person.SSO_ID, strEmailSubject, strEmailBodya, strEmailBodyb, strEmailBodyc); } } isNew = false; if (SQMModelMgr.updateStatus < 0) // report error { AlertUpdateResult(SQMModelMgr.updateStatus); } } else { SetLocalPerson(person); } return(true); }
private void SearchIncidents() { string selectedValue = ""; // work-around for rad persistence manager being cleared upon re-build ?? if (ddlPlantSelect.CheckedItems.Count == 0) { foreach (RadComboBoxItem item in ddlPlantSelect.Items) { item.Checked = true; } } if (rcbInspectionType.CheckedItems.Count == 0) { foreach (RadComboBoxItem item in rcbInspectionType.Items) { item.Checked = true; } } if (rcbStatusSelect.SelectedItem == null) { rcbStatusSelect.SelectedIndex = 0; } DateTime fromDate = Convert.ToDateTime(dmFromDate.SelectedDate); DateTime toDate = Convert.ToDateTime(dmToDate.SelectedDate); if (toDate < fromDate) { return; } toDate = new DateTime(toDate.Year, toDate.Month, toDate.Day, 23, 59, 59); List <decimal> plantIDS = SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToList(); if (HSCalcs() == null) { foreach (RadComboBoxItem item in rcbInspectionType.Items) { item.Checked = true; } } SetHSCalcs(new SQMMetricMgr().CreateNew(SessionManager.PrimaryCompany(), "0", fromDate, toDate, new decimal[0])); HSCalcs().ehsCtl = new EHSCalcsCtl().CreateNew(1, DateSpanOption.SelectRange, "0"); HSCalcs().ObjAny = cbShowImage.Checked; var typeList = new List <decimal>(); typeList = EHSIncidentMgr.SelectPreventativeTypeList(SessionManager.PrimaryCompany().COMPANY_ID).Select(l => l.INCIDENT_TYPE_ID).ToList(); var rec_id = RTXT_RecID.Text; List <string> inspectionCatetoryList = new List <string>(); inspectionCatetoryList.AddRange(rcbInspectionType.Items.Where(c => c.Checked).Select(c => c.Value).ToList()); List <string> recommendationTypeList = new List <string>(); recommendationTypeList.AddRange(rcbRecommendType.Items.Where(c => c.Checked).Select(c => c.Value).ToList()); List <string> statusList = SQMBasePage.GetComboBoxCheckedItems(rcbStatusSelect).Select(l => l.Value).ToList(); HSCalcs().ehsCtl.SelectPreventativeList(plantIDS, typeList, inspectionCatetoryList, recommendationTypeList, fromDate, toDate, statusList, cbShowImage.Checked, cbCreatedByMe.Checked ? SessionManager.UserContext.Person.PERSON_ID : 0, Convert.ToDecimal(rec_id == "" ? "0" : rec_id)); if (HSCalcs().ehsCtl.IncidentHst != null) { uclIncidentList.BindPreventativeListRepeater(HSCalcs().ehsCtl.IncidentHst.OrderByDescending(x => x.Incident.INCIDENT_DT).ToList(), "EHS", cbShowImage.Checked); } if (HSCalcs().ehsCtl.IncidentHst != null && HSCalcs().ehsCtl.IncidentHst.Count > 0) { lblChartType.Visible = ddlChartType.Visible = true; } pnlIncidentDetails.Visible = lnkIncidentDetailsClose.Visible = false; if (ddlChartType.SelectedValue != "") { lnkCloseChart(null, null); } }
private void SearchIncidents() { string selectedValue = ""; // work-around for rad persistence manager being cleared upon re-build ?? if (ddlPlantSelect.CheckedItems.Count == 0) { foreach (RadComboBoxItem item in ddlPlantSelect.Items) { item.Checked = true; } } if (rcbIncidentType.CheckedItems.Count == 0) { foreach (RadComboBoxItem item in rcbIncidentType.Items) { item.Checked = true; } } if (rcbStatusSelect.SelectedItem == null) { rcbStatusSelect.SelectedIndex = 0; } DateTime fromDate = Convert.ToDateTime(dmFromDate.SelectedDate); DateTime toDate = Convert.ToDateTime(dmToDate.SelectedDate); if (toDate < fromDate) { return; } toDate = new DateTime(toDate.Year, toDate.Month, toDate.Day, 23, 59, 59); List <decimal> plantIDS = SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => Convert.ToDecimal(i.Value)).ToList(); var typeList = new List <decimal>(); List <string> severityList = new List <string>(); List <string> selectSeverityLevel = new List <string>(); decimal incidentID; if (HSCalcs() == null) { foreach (RadComboBoxItem item in rcbIncidentType.Items) { item.Checked = true; } } typeList = rcbIncidentType.Items.Where(c => c.Checked).Select(c => Convert.ToDecimal(c.Value)).ToList(); if (typeList.Contains((decimal)EHSIncidentTypeId.InjuryIllness)) { severityList = rcbSeverity.Items.Where(c => c.Checked).Select(c => c.Value).ToList(); } else { severityList.Clear(); rcbSeverity.Items.ToList().ForEach(i => i.Checked = false); } //Get selected values of severity level filter dropdownlist. selectedValue = rcbStatusSelect.SelectedValue; selectSeverityLevel = rcbSeverityLevel.Items.Where(c => c.Checked).Select(c => c.Value).ToList(); string incidentid = RTXT_IncidentID.Text; incidentID = Convert.ToDecimal(incidentid == "" ?"0" : incidentid); SetHSCalcs(new SQMMetricMgr().CreateNew(SessionManager.PrimaryCompany(), "0", fromDate, toDate, new decimal[0])); HSCalcs().ehsCtl = new EHSCalcsCtl().CreateNew(1, DateSpanOption.SelectRange, "0"); HSCalcs().ObjAny = cbShowImage.Checked; HSCalcs().ehsCtl.SelectIncidentList(plantIDS, typeList, severityList, fromDate, toDate, selectedValue, selectSeverityLevel, cbShowImage.Checked, cbCreatedByMe.Checked ? SessionManager.UserContext.Person.PERSON_ID : 0, incidentID); if (!UserContext.CheckUserPrivilege(SysPriv.admin, SysScope.incident)) { HSCalcs().ehsCtl.IncidentHst = (from i in HSCalcs().ehsCtl.IncidentHst where i.Incident.ISSUE_TYPE_ID != 10 select i).ToList(); } if (HSCalcs().ehsCtl.IncidentHst != null) { uclIncidentList.BindIncidentListRepeater(HSCalcs().ehsCtl.IncidentHst.OrderByDescending(x => x.Incident.INCIDENT_DT).ToList(), "EHS", cbShowImage.Checked, false); } if (HSCalcs().ehsCtl.IncidentHst != null && HSCalcs().ehsCtl.IncidentHst.Count > 0) { lblChartType.Visible = ddlChartType.Visible = true; } pnlIncidentDetails.Visible = lnkIncidentDetailsClose.Visible = false; if (ddlChartType.SelectedValue != "") { lnkCloseChart(null, null); } }
public decimal[] DDLPlantSelectIDS() { string[] plantSels = SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => i.Value).ToArray(); return(Array.ConvertAll(plantSels, new Converter <string, decimal>(decimal.Parse))); }
public string[] DDLPlantSelectNames() { string[] plantSels = SQMBasePage.GetComboBoxCheckedItems(ddlPlantSelect).Select(i => i.Text).ToArray(); return(plantSels); }
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); }