public void rptApprovals_OnItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) { try { EHSIncidentApproval approvalRec = null; EHSIncidentApprovalList approvalRecNew = null; if (IncidentId > MaxIncidentForNewFeature && ApprovalStep.STEP < 6) { approvalRecNew = (EHSIncidentApprovalList)e.Item.DataItem; } else { approvalRec = (EHSIncidentApproval)e.Item.DataItem; } bool canApprove = false; Label lba = (Label)e.Item.FindControl("lbApprover"); Label lbm = (Label)e.Item.FindControl("lbApproveMessage"); Label lb = (Label)e.Item.FindControl("lbItemSeq"); Label lbjobd = (Label)e.Item.FindControl("lbApproverJob"); HiddenField hfrole = (HiddenField)e.Item.FindControl("hfRoleDesc"); HiddenField hfINCFORM_APPROVER_LIST_ID = (HiddenField)e.Item.FindControl("hfINCFORM_APPROVER_LIST_ID"); HiddenField hfAPPROVERType = (HiddenField)e.Item.FindControl("hfAPPROVERType"); CheckBox cba = (CheckBox)e.Item.FindControl("cbIsAccepted"); RadDatePicker rda = (RadDatePicker)e.Item.FindControl("rdpAcceptDate"); HiddenField hf = (HiddenField)e.Item.FindControl("hfApprovalID"); if (IncidentId > MaxIncidentForNewFeature && ApprovalStep.STEP < 6) { lbjobd.Text = hfrole.Value = approvalRecNew.approverList.DESCRIPTION; lbm.Text = approvalRecNew.approverList.DESCRIPTION_QUESTION; hfINCFORM_APPROVER_LIST_ID.Value = approvalRecNew.approverList.INCFORM_APPROVER_LIST_ID.ToString(); hfAPPROVERType.Value = approvalRecNew.approverList.TYPE.ToString(); } else { lbm.Text = XLATList.Where(l => l.XLAT_CODE == approvalRec.stepPriv.PRIV.ToString()).FirstOrDefault().DESCRIPTION; lbjobd.Text = hfrole.Value = XLATList.Where(l => l.XLAT_CODE == approvalRec.stepPriv.PRIV.ToString()).FirstOrDefault().DESCRIPTION_SHORT; } if (IncidentId > MaxIncidentForNewFeature && ApprovalStep.STEP < 6) { hf.Value = approvalRecNew.approval.INCIDENT_APPROVAL_ID == null ? "0" : approvalRecNew.approval.INCIDENT_APPROVAL_ID.ToString(); hf = (HiddenField)e.Item.FindControl("hfItemSeq"); hf.Value = approvalRecNew.approval.ITEM_SEQ.ToString(); hf = (HiddenField)e.Item.FindControl("hfPersonID"); hf.Value = approvalRecNew.approval.APPROVER_PERSON_ID.ToString(); hf = (HiddenField)e.Item.FindControl("hfReqdComplete"); hf.Value = approvalRecNew.approverList.REQUIRED_COMPLETE.ToString(); lb.Visible = false; lba.Text = !string.IsNullOrEmpty(approvalRecNew.approval.APPROVER_PERSON) ? approvalRecNew.approval.APPROVER_PERSON : SessionManager.UserContext.Person.FIRST_NAME + " " + SessionManager.UserContext.Person.LAST_NAME; cba.Checked = approvalRecNew.approval.IsAccepted; rda.SelectedDate = approvalRecNew.approval.APPROVAL_DATE; canApprove = SessionManager.CheckUserPrivilege((SysPriv)approvalRecNew.approverList.PRIV, SysScope.incident); } else { hf.Value = approvalRec.approval.INCIDENT_APPROVAL_ID == null ? "0" : approvalRec.approval.INCIDENT_APPROVAL_ID.ToString(); hf = (HiddenField)e.Item.FindControl("hfItemSeq"); hf.Value = approvalRec.approval.ITEM_SEQ.ToString(); hf = (HiddenField)e.Item.FindControl("hfPersonID"); hf.Value = approvalRec.approval.APPROVER_PERSON_ID.ToString(); hf = (HiddenField)e.Item.FindControl("hfReqdComplete"); hf.Value = approvalRec.stepPriv.REQUIRED_COMPLETE.ToString(); lb.Visible = false; lba.Text = !string.IsNullOrEmpty(approvalRec.approval.APPROVER_PERSON) ? approvalRec.approval.APPROVER_PERSON : ""; cba.Checked = approvalRec.approval.IsAccepted; rda.SelectedDate = approvalRec.approval.APPROVAL_DATE; canApprove = SessionManager.CheckUserPrivilege((SysPriv)approvalRec.stepPriv.PRIV, SysScope.incident); } if (cba.Checked) { cba.Enabled = false; // don't allow removing approval once it was given } else { if (canApprove && PageMode == PageUseMode.Active) { canApproveAny = true; cba.Enabled = true; PSsqmEntities entities = new PSsqmEntities(); if (IncidentId > MaxIncidentForNewFeature && ApprovalStep.STEP < 6) { PERSON person = (from p in entities.PERSON where p.PERSON_ID == approvalRecNew.approverList.PERSON_ID select p).FirstOrDefault(); lba.Text = (person.FIRST_NAME + " " + person.LAST_NAME); if ((SysPriv)approvalRecNew.approverList.PRIV == SysPriv.approve || (SysPriv)approvalRecNew.approverList.PRIV == SysPriv.release || approvalRecNew.approverList.SIGN_MULTIPLE == 1) // can approve at top approval level { foreach (RepeaterItem item in rptApprovals.Items) { PlaceHolder ph = (PlaceHolder)item.FindControl("phOnBehalfOf"); ph.Visible = true; lba = (Label)item.FindControl("lbApprover"); lba.Text = SessionManager.UserContext.UserName(); cba = (CheckBox)item.FindControl("cbIsAccepted"); if (cba.Checked) { cba.Enabled = false; } else { cba.Enabled = true; } } } } else { canApproveAny = true; lba.Text = SessionManager.UserContext.UserName(); cba.Enabled = true; if ((SysPriv)approvalRec.stepPriv.PRIV == SysPriv.approve || (SysPriv)approvalRec.stepPriv.PRIV == SysPriv.release || approvalRec.stepPriv.SIGN_MULTIPLE == 1) // can approve at top approval level { foreach (RepeaterItem item in rptApprovals.Items) { PlaceHolder ph = (PlaceHolder)item.FindControl("phOnBehalfOf"); ph.Visible = true; lba = (Label)item.FindControl("lbApprover"); lba.Text = SessionManager.UserContext.UserName(); cba = (CheckBox)item.FindControl("cbIsAccepted"); if (cba.Checked) { cba.Enabled = false; } else { cba.Enabled = true; } } } } INCFORM_APPROVER_LIST applist = (from p in entities.INCFORM_APPROVER_LIST where p.INCFORM_APPROVER_LIST_ID == approvalRecNew.approverList.INCFORM_APPROVER_LIST_ID select p).FirstOrDefault(); if (applist != null) { if (applist.PERSON_ID == SessionManager.UserContext.Person.PERSON_ID) { cba.Enabled = true; } else if (SessionManager.UserContext.Person.PRIV_GROUP == "admin") { cba.Enabled = true; } else { cba.Enabled = false; } } else { if ((SysPriv)approvalRec.stepPriv.PRIV == SysPriv.approve || (SysPriv)approvalRec.stepPriv.PRIV == SysPriv.release || approvalRec.stepPriv.SIGN_MULTIPLE == 1) // can approve at top approval level { foreach (RepeaterItem item in rptApprovals.Items) { PlaceHolder ph = (PlaceHolder)item.FindControl("phOnBehalfOf"); ph.Visible = true; lba = (Label)item.FindControl("lbApprover"); lba.Text = SessionManager.UserContext.UserName(); cba = (CheckBox)item.FindControl("cbIsAccepted"); if (cba.Checked) { cba.Enabled = false; } else { cba.Enabled = true; } } } } } else { cba.Enabled = false; } } } catch { } } btnSave.Visible = pnlApproval.Enabled = false; if (PageMode == PageUseMode.Active && canApproveAny) { btnSave.Visible = pnlApproval.Enabled = EHSIncidentMgr.IsDependentStatus(LocalIncident, EHSIncidentMgr.GetIncidentSteps(incidentStepList, (decimal)LocalIncident.ISSUE_TYPE_ID).Where(l => l.STEP == ApprovalStep.STEP).Select(l => l.DEPENDENT_STATUS).FirstOrDefault()); if (!btnSave.Visible) { lblStatusMsg.Text = Resources.LocalizedText.IncidentReportIncomplete; divStatus.Visible = true; } } }