protected void rgRegionalApproverAction_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                try
                {
                    GridDataItem          item = (GridDataItem)e.Item;
                    INCFORM_APPROVER_LIST RegionalApproverAction = (INCFORM_APPROVER_LIST)e.Item.DataItem;

                    Label lbl;

                    HiddenField hf = (HiddenField)item.FindControl("hfRegionalApproverItemID");
                    hf.Value = RegionalApproverAction.INCFORM_APPROVER_LIST_ID.ToString();

                    LinkButton lnk = (LinkButton)item.FindControl("lnkRegionalApproverItem");
                    lnk.Text = "";// RegionalApproverAction.DESCRIPTION_SHORT.ToString();// XLATList.Where(x => x.XLAT_GROUP == "RegionalApprover_SCOPE" && x.XLAT_CODE == RegionalApproverAction.RegionalApprover_SCOPE).FirstOrDefault().DESCRIPTION_SHORT;

                    lbl      = (Label)item.FindControl("lblScopeTask");
                    lbl.Text = RegionalApproverAction.DESCRIPTION.ToString();//XLATList.Where(x => x.XLAT_GROUP == "RegionalApprover_SCOPE_TASK" && x.XLAT_CODE == RegionalApproverAction.SCOPE_TASK).FirstOrDefault().DESCRIPTION_SHORT;

                    lbl      = (Label)item.FindControl("lblScopeStatus");
                    lbl.Text = RegionalApproverAction.DESCRIPTION.ToString(); //XLATList.Where(x => x.XLAT_GROUP == "RegionalApprover_TASK_STATUS" && x.XLAT_CODE == RegionalApproverAction.TASK_STATUS).FirstOrDefault().DESCRIPTION_SHORT;

                    lbl      = (Label)item.FindControl("lblRegionalApproverTiming");
                    lbl.Text = RegionalApproverAction.DESCRIPTION.ToString(); //XLATList.Where(x => x.XLAT_GROUP == "RegionalApprover_TIMING" && x.XLAT_CODE == RegionalApproverAction.RegionalApprover_TIMING.ToString()).FirstOrDefault().DESCRIPTION_SHORT;

                    lbl      = (Label)item.FindControl("lblRegionalApproverDist");
                    lbl.Text = RegionalApproverAction.DESCRIPTION.ToString(); //RegionalApproverAction.RegionalApprover_DIST;
                }
                catch
                {
                }
            }
        }
Beispiel #2
0
        protected void ddlRegionalApproverList_Click(object sender, EventArgs e)
        {
            DropDownList ddlRegionalApproverList = (DropDownList)sender;
            GridDataItem row = (GridDataItem)ddlRegionalApproverList.NamingContainer;
            HiddenField  hfApproverItemID    = (HiddenField)row.FindControl("hfApproverItemID");
            HiddenField  hfApproverPerson_Id = (HiddenField)row.FindControl("hfApproverPerson_Id");
            string       perid = ddlRegionalApproverList.SelectedValue;

            if (ddlRegionalApproverList.SelectedValue == "0")
            {
                ddlRegionalApproverList.Attributes.Add("class", "CSSHI");
                string script = "function ferrorMsg(){alert('You cannot select invalid option from approver list.'); Sys.Application.remove_load(ferrorMsg);}Sys.Application.add_load(ferrorMsg);";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
                ddlRegionalApproverList.SelectedValue = hfApproverPerson_Id.Value;
            }
            else
            {
                ddlRegionalApproverList.Attributes.Add("class", "CSSRHI");
                PSsqmEntities         ctx            = new PSsqmEntities();
                INCFORM_APPROVER_LIST ApproverAction = null;
                ApproverAction = SQMModelMgr.SelectINCFORMAPPROVERSLIST(ctx, Convert.ToDecimal(hfApproverItemID.Value));
                decimal personid = Convert.ToDecimal(ddlRegionalApproverList.SelectedValue);


                ApproverAction.PERSON_ID = personid;

                ApproverAction.SSO_ID = (from P in ctx.PERSON
                                         where (P.PERSON_ID == personid)
                                         select P.SSO_ID).FirstOrDefault();
                if ((ApproverAction = SQMModelMgr.UpdateApproverAction(ctx, ApproverAction, true)) != null)
                {
                    //ddlApprover.SelectedValue = "0";
                    //ddlStep.SelectedValue = "0";
                    //ddlPriv.SelectedValue = "0";
                    txtDescription.Text = "";
                    //txtDescriptionQuestion.Text = "";
                    rgApproverAction.DataSource = null;
                    rgApproverAction.DataBind();
                    rgRegionalApproverAction.DataSource = null;
                    rgRegionalApproverAction.DataBind();
                    BindApproverListR(SQMModelMgr.SelectINCFORMAPPROVERLIST(ctx, SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID, SessionManager.EffLocation.Plant.PLANT_ID, "R").ToList(), SessionManager.EffLocation, "busorg");
                    BindApproverListA(SQMModelMgr.SelectINCFORMAPPROVERLIST(ctx, SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID, SessionManager.EffLocation.Plant.PLANT_ID, "A").ToList(), SessionManager.EffLocation, "busorg");
                }
            }
        }
Beispiel #3
0
        public void SaveFirstApproverItem()
        {
            PSsqmEntities         ctx            = new PSsqmEntities();
            INCFORM_APPROVER_LIST ApproverAction = null;
            decimal step = Convert.ToDecimal("5.50");

            ApproverAction              = new INCFORM_APPROVER_LIST();
            ApproverAction.COMPANY_ID   = Convert.ToDecimal(SessionManager.EffLocation.BusinessOrg.COMPANY_ID.ToString()); //person.COMPANY_ID;//
            ApproverAction.BUS_ORG_ID   = Convert.ToDecimal(SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID.ToString()); //person.BUS_ORG_ID;//
            ApproverAction.PLANT_ID     = Convert.ToDecimal(SessionManager.EffLocation.Plant.PLANT_ID.ToString());
            ApproverAction.CREATED_DATE = System.DateTime.Now;

            //ApproverAction.PERSON_ID = personid;

            //ApproverAction.SSO_ID = (from P in ctx.PERSON
            //                         where (P.PERSON_ID == personid)
            //                         select P.SSO_ID).FirstOrDefault();
            ApproverAction.DESCRIPTION          = "Plant Approver Notifications";
            ApproverAction.DESCRIPTION_QUESTION = "I approve this report for distribution"; // txtDescriptionQuestion.Text;
            ApproverAction.STEP = step;
            ApproverAction.PRIV = 391;                                                      // priv;
            ApproverAction.TYPE = "N";                                                      // = ApproverAction.TYPE;
            ApproverAction.REQUIRED_COMPLETE = true;
            if ((ApproverAction = SQMModelMgr.UpdateApproverAction(ctx, ApproverAction, false)) != null)
            {
                if (OnApproverActionCommand != null)
                {
                    OnApproverActionCommand("add");
                }
                // ddlApprover.SelectedValue = "0";
                //ddlStep.SelectedValue = "0";
                //ddlPriv.SelectedValue = "0";
                txtDescription.Text = "";
                // txtDescriptionQuestion.Text = "";
                rgApproverAction.DataSource = null;
                rgApproverAction.DataBind();
                rgRegionalApproverAction.DataSource = null;
                rgRegionalApproverAction.DataBind();
                BindApproverListA(SQMModelMgr.SelectINCFORMAPPROVERLIST(ctx, SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID, SessionManager.EffLocation.Plant.PLANT_ID, "A").ToList(), SessionManager.EffLocation, "busorg");
                BindApproverListR(SQMModelMgr.SelectINCFORMAPPROVERLIST(ctx, SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID, SessionManager.EffLocation.Plant.PLANT_ID, "R").ToList(), SessionManager.EffLocation, "busorg");
            }
        }
        private void SaveRegionalApproverItem()
        {
            PSsqmEntities         ctx = new PSsqmEntities();
            INCFORM_APPROVER_LIST RegionalApproverAction = null;
            bool    isNew    = false;
            decimal personid = Convert.ToDecimal(ddlRegionalApprover.SelectedValue);
            decimal step     = Convert.ToDecimal("5.50");//ddlStep.SelectedValue);

            //int priv = Convert.ToInt32(ddlPriv.SelectedValue);
            if (string.IsNullOrEmpty(hfRegionalApproverActionID.Value))  // add new item
            {
                //PERSON person = (from p in ctx.PERSON
                //                 where p.PERSON_ID == personid
                //                 select p).FirstOrDefault();
                RegionalApproverAction              = new INCFORM_APPROVER_LIST();
                RegionalApproverAction.COMPANY_ID   = Convert.ToDecimal(SessionManager.EffLocation.BusinessOrg.COMPANY_ID.ToString()); //person.COMPANY_ID;//
                RegionalApproverAction.BUS_ORG_ID   = Convert.ToDecimal(SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID.ToString()); //person.BUS_ORG_ID;//
                RegionalApproverAction.PLANT_ID     = Convert.ToDecimal(SessionManager.EffLocation.Plant.PLANT_ID.ToString());
                RegionalApproverAction.CREATED_DATE = System.DateTime.Now;

                isNew = true;
            }
            else
            {
                RegionalApproverAction = SQMModelMgr.SelectINCFORMREGIONALAPPROVERSLIST(ctx, Convert.ToDecimal(hfRegionalApproverActionID.Value));
            }

            RegionalApproverAction.PERSON_ID = personid;

            RegionalApproverAction.SSO_ID = (from P in ctx.PERSON
                                             where (P.PERSON_ID == personid)
                                             select P.SSO_ID).FirstOrDefault();
            RegionalApproverAction.DESCRIPTION          = txtDescription.Text;
            RegionalApproverAction.DESCRIPTION_QUESTION = "I approve this report for distribution"; // txtDescriptionQuestion.Text;
            RegionalApproverAction.STEP = step;
            RegionalApproverAction.PRIV = 391;                                                      // priv;
            RegionalApproverAction.TYPE = "R";
            RegionalApproverAction.REQUIRED_COMPLETE = true;
            if ((RegionalApproverAction = SQMModelMgr.UpdateRegionalApproverAction(ctx, RegionalApproverAction)) != null)
            {
                if (isNew)
                {
                    if (OnRegionalApproverActionCommand != null)
                    {
                        OnRegionalApproverActionCommand("add");
                    }
                    ddlRegionalApprover.SelectedValue = "0";
                    //ddlStep.SelectedValue = "0";
                    //ddlPriv.SelectedValue = "0";
                    txtDescription.Text = "";
                    //txtDescriptionQuestion.Text = "";
                    rgRegionalApproverAction.DataSource = null;
                    rgRegionalApproverAction.DataBind();
                    BindRegionalApproverList(SQMModelMgr.SelectINCFORMREGIONALAPPROVERLIST(ctx, SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID, SessionManager.EffLocation.Plant.PLANT_ID).ToList(), SessionManager.EffLocation, "busorg");
                }
                else
                {
                    ddlRegionalApprover.SelectedValue = "0";
                    //ddlStep.SelectedValue = "0";
                    //ddlPriv.SelectedValue = "0";
                    txtDescription.Text = "";
                    //txtDescriptionQuestion.Text = "";
                    rgRegionalApproverAction.DataSource = null;
                    rgRegionalApproverAction.DataBind();
                    BindRegionalApproverList(SQMModelMgr.SelectINCFORMREGIONALAPPROVERLIST(ctx, SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID, SessionManager.EffLocation.Plant.PLANT_ID).ToList(), SessionManager.EffLocation, "busorg");
                }
            }
        }
Beispiel #5
0
        public int AddUpdateINCFORM_APPROVAL(decimal incidentId, string option)
        {
            //To get approvertype from usercontext. -NIHARIKA SAXENA
            var approveerType = (SessionManager.UserContext.PrivList.Where(p => p.PRIV <= 100).FirstOrDefault()).PRIV_GROUP.ToString();
            //Check status of severityLevel of Global Safety Group
            bool severityLevel = false;

            var  itemList      = new List <INCFORM_APPROVAL>();
            int  status        = 0;
            int  numRequired   = 0;
            int  requiredCount = 0;
            int  approvalCount = 0;
            bool isRequired;
            bool isChanged = false;



            List <INCFORM_APPROVAL> approvalList = new List <INCFORM_APPROVAL>();

            using (PSsqmEntities ctx = new PSsqmEntities())
            {
                foreach (RepeaterItem item in rptApprovals.Items)
                {
                    isRequired = false;
                    HiddenField hfreq = (HiddenField)item.FindControl("hfReqdComplete");
                    if (hfreq.Value.ToLower() == "true")
                    {
                        ++numRequired;
                        isRequired = true;
                    }

                    INCFORM_APPROVAL approval = new INCFORM_APPROVAL();
                    approval.INCIDENT_ID    = incidentId;
                    approval.APPROVAL_LEVEL = 0;
                    approval.STEP           = ApprovalStep.STEP;
                    Label         lba    = (Label)item.FindControl("lbApprover");
                    Label         lb     = (Label)item.FindControl("lbItemSeq");
                    CheckBox      cba    = (CheckBox)item.FindControl("cbIsAccepted");
                    RadDatePicker rda    = (RadDatePicker)item.FindControl("rdpAcceptDate");
                    HiddenField   hfrole = (HiddenField)item.FindControl("hfRoleDesc");
                    HiddenField   hf     = (HiddenField)item.FindControl("hfItemSeq");
                    HiddenField   hfINCFORM_APPROVER_LIST_ID = (HiddenField)item.FindControl("hfINCFORM_APPROVER_LIST_ID");
                    approval.ITEM_SEQ       = Convert.ToInt32(hf.Value);
                    approval.APPROVER_TITLE = hfrole.Value;
                    if (IncidentId > MaxIncidentForNewFeature && ApprovalStep.STEP < 6)
                    {
                        approval.INCFORM_APPROVER_LIST_ID = Convert.ToDecimal(hfINCFORM_APPROVER_LIST_ID.Value);
                    }

                    //Update SEVERITY_LEVEL value. -
                    if (chkSeverityLevel00.Checked && chkSeverityLevel00.Visible == true)
                    {
                        severityLevel           = chkSeverityLevel00.Checked;
                        approval.SEVERITY_LEVEL = SysPriv.first_add.ToString();
                    }
                    else if (chkSeverityLevel01.Checked && chkSeverityLevel01.Visible == true)
                    {
                        severityLevel           = chkSeverityLevel01.Checked;
                        approval.SEVERITY_LEVEL = SysPriv.l1.ToString();
                    }

                    else if (chkSeverityLevel02.Checked && chkSeverityLevel02.Visible == true)
                    {
                        severityLevel           = chkSeverityLevel02.Checked;
                        approval.SEVERITY_LEVEL = SysPriv.l2.ToString();
                    }
                    else if (chkSeverityLevel03.Checked && chkSeverityLevel03.Visible == true)
                    {
                        severityLevel           = chkSeverityLevel03.Checked;
                        approval.SEVERITY_LEVEL = SysPriv.l3.ToString();
                    }
                    else if (chkSeverityLevel04.Checked && chkSeverityLevel04.Visible == true)
                    {
                        severityLevel           = chkSeverityLevel04.Checked;
                        approval.SEVERITY_LEVEL = SysPriv.l4.ToString();
                    }

                    approvalList.Add(approval);

                    if (cba.Checked == true)    // is approved
                    {
                        ++approvalCount;

                        if (isRequired)
                        {
                            ++requiredCount;
                        }

                        hf = (HiddenField)item.FindControl("hfApprovalID");
                        if (string.IsNullOrEmpty(hf.Value) || hf.Value == "0")
                        {
                            // save new approval to db
                            isChanged = true;
                            approval.APPROVAL_DATE = rda.SelectedDate;
                            approval.IsAccepted    = true;
                            hf = (HiddenField)item.FindControl("hfPersonID");
                            if (string.IsNullOrEmpty(hf.Value) || hf.Value == "0")
                            {
                                approval.APPROVER_PERSON_ID = SessionManager.UserContext.Person.PERSON_ID;
                                approval.APPROVER_PERSON    = SessionManager.UserContext.UserName();
                            }
                            else
                            {
                                approval.APPROVER_PERSON_ID = Convert.ToDecimal(hf.Value);
                                approval.APPROVER_PERSON    = lba.Text;
                            }

                            ctx.AddToINCFORM_APPROVAL(approval);
                        }
                    }
                }

                if (approveerType == "Global Safety Group")
                {
                    if (severityLevel)
                    {
                        lblResponseMsg.Text        = "";
                        chkSeverityLevel00.Enabled = false;

                        chkSeverityLevel01.Enabled = false;

                        chkSeverityLevel02.Enabled = false;

                        chkSeverityLevel03.Enabled = false;

                        chkSeverityLevel04.Enabled = false;

                        //status = ctx.ExecuteStoreCommand("DELETE FROM INCFORM_APPROVAL WHERE INCIDENT_ID = " + incidentId.ToString() + " AND STEP = " + ApprovalStep.ToString());
                        status = ctx.SaveChanges();
                    }
                    else
                    {
                        status = -1;
                    }
                }
                else
                {
                    status = ctx.SaveChanges();
                }

                bool   notifyStepComplete = false;
                string incidentStep       = "";

                // determine step status
                if (approvalCount > 0)
                {
                    if (ApprovalStep.STEP == 10.0m)
                    {
                        incidentStep = "Approvals";
                        IncidentStepStatus stat;
                        if ((numRequired > 0 && requiredCount == numRequired) || approvalCount == rptApprovals.Items.Count)
                        {
                            stat = (IncidentStepStatus)Math.Min(rptApprovals.Items.Count + 150, 155);
                            EHSIncidentMgr.UpdateIncidentStatus(incidentId, stat, true, WebSiteCommon.LocalTime(DateTime.UtcNow, IncidentLocationTZ));
                            notifyStepComplete = true;
                        }
                        else
                        {
                            incidentStep = ApprovalStep.STEP == 5.5m ? "CorrectiveActionApproval" : "InitialActionApproval";
                            stat         = (IncidentStepStatus)Math.Min(approvalCount + 150, 154);
                            EHSIncidentMgr.UpdateIncidentStatus(incidentId, stat, WebSiteCommon.LocalTime(DateTime.UtcNow, IncidentLocationTZ));
                        }
                    }
                    else
                    {
                        if ((numRequired > 0 && requiredCount == numRequired) || approvalCount == rptApprovals.Items.Count)
                        {
                            EHSIncidentMgr.UpdateIncidentApprovalStatus(incidentId, ApprovalStep.STEP);
                            notifyStepComplete = true;
                        }
                    }
                }

                // only send notifications when approvals are added
                if (isChanged)
                {
                    NotifyCycle notifyCycle;
                    try
                    {
                        notifyCycle = ApprovalStep.NOTIFY_CYCLE.HasValue ? (NotifyCycle)ApprovalStep.NOTIFY_CYCLE : NotifyCycle.None;
                    }
                    catch
                    {
                        notifyCycle = NotifyCycle.None;
                    }

                    if (notifyStepComplete && ApprovalStep.STEP == 10.0m)
                    {
                        EHSNotificationMgr.NotifyIncidentStatus(LocalIncident, ((int)SysPriv.approve).ToString(), "");
                    }

                    if (notifyCycle == NotifyCycle.notifyNext)
                    {
                        INCFORM_APPROVAL priorApproval = new INCFORM_APPROVAL();
                        foreach (INCFORM_APPROVAL approval in approvalList)
                        {
                            // notify missing approvers when prior roles approved or the step was completed by 380 or 390 priv
                            if (!approval.APPROVAL_DATE.HasValue && (priorApproval.APPROVAL_DATE.HasValue || notifyStepComplete))
                            {
                                List <string> infoList = new List <string>();
                                infoList.Add(approval.APPROVER_TITLE);
                                infoList.Add(priorApproval.APPROVER_TITLE);
                                EHSNotificationMgr.NotifyIncidentSignoffRequired(LocalIncident, approval, ApprovalStep.STEP_HEADING_TEXT, approval.ITEM_SEQ >= 390 ? "SIGNOFF" : "APPROVAL", infoList);
                            }
                            priorApproval = approval;
                        }
                    }
                }
            }
            if (IncidentId > MaxIncidentForNewFeature && ApprovalStep.STEP < 6)
            {
                bool isNotify = false;
                if (isChanged)
                {
                    using (PSsqmEntities ctx = new PSsqmEntities())
                    {
                        //foreach (RepeaterItem item in rptApprovals.Items)
                        //{
                        //    CheckBox cba = (CheckBox)item.FindControl("cbIsAccepted");
                        //    HiddenField hfINCFORM_APPROVER_LIST_ID = (HiddenField)item.FindControl("hfINCFORM_APPROVER_LIST_ID");
                        //    HiddenField hfAPPROVERType = (HiddenField)item.FindControl("hfAPPROVERType");
                        //    if (cba.Checked && (hfAPPROVERType.Value == "A" || hfAPPROVERType.Value == "N"))
                        //    {
                        //        isNotify = true;
                        //    }
                        //    else if (!cba.Checked && (hfAPPROVERType.Value == "A" || hfAPPROVERType.Value == "N"))
                        //    {
                        //        isNotify = false;
                        //        break;
                        //    }
                        //}
                        //if (isNotify)
                        //{

                        foreach (RepeaterItem item in rptApprovals.Items)
                        {
                            HiddenField   hfrole = (HiddenField)item.FindControl("hfRoleDesc");
                            CheckBox      cba    = (CheckBox)item.FindControl("cbIsAccepted");
                            HiddenField   hfINCFORM_APPROVER_LIST_ID = (HiddenField)item.FindControl("hfINCFORM_APPROVER_LIST_ID");
                            List <string> infoList = new List <string>();
                            infoList.Add(hfrole.Value);
                            decimal?applistid             = Convert.ToDecimal(hfINCFORM_APPROVER_LIST_ID.Value);
                            INCFORM_APPROVER_LIST appList = (from i in ctx.INCFORM_APPROVER_LIST where i.INCFORM_APPROVER_LIST_ID == applistid select i).FirstOrDefault();
                            PERSON person = (from i in ctx.PERSON where i.PERSON_ID == appList.PERSON_ID select i).FirstOrDefault();
                            if (!cba.Checked)
                            {
                                if (person != null)
                                {
                                    EHSNotificationMgr.NotifyApprover(LocalIncident, person.PERSON_ID, ApprovalStep.STEP_HEADING_TEXT, appList.PRIV >= 390 ? "SIGNOFF" : "APPROVAL", infoList);
                                }
                            }
                        }
                        //CheckBox cba = (CheckBox)item.FindControl("cbIsAccepted");
                        //HiddenField hfINCFORM_APPROVER_LIST_ID = (HiddenField)item.FindControl("hfINCFORM_APPROVER_LIST_ID");
                        //HiddenField hfAPPROVERType = (HiddenField)item.FindControl("hfAPPROVERType");
                        //if (!cba.Checked && (hfAPPROVERType.Value == "R"))
                        //{
                        //    decimal? applistid = Convert.ToDecimal(hfINCFORM_APPROVER_LIST_ID.Value);
                        //    INCFORM_APPROVER_LIST appList = (from i in ctx.INCFORM_APPROVER_LIST where i.INCFORM_APPROVER_LIST_ID == applistid select i).FirstOrDefault();
                        //    if (appList.PERSON_ID != null)
                        //    {
                        //        PERSON person = (from i in ctx.PERSON where i.PERSON_ID == appList.PERSON_ID select i).FirstOrDefault();
                        //        EHSNotificationMgr.NotifyRegionalApprover(person.PERSON_ID, "Notify Regional Approver");
                        //    }
                        //}

                        //}
                    }
                }
            }
            return(status);
        }
Beispiel #6
0
        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;
                }
            }
        }
Beispiel #7
0
        protected void ddlApproverList_Click(object sender, EventArgs e)
        {
            DropDownList ddlApproverList     = (DropDownList)sender;
            GridDataItem row                 = (GridDataItem)ddlApproverList.NamingContainer;
            HiddenField  hfApproverItemID    = (HiddenField)row.FindControl("hfApproverItemID");
            HiddenField  hfApproverPerson_Id = (HiddenField)row.FindControl("hfApproverPerson_Id");
            string       perid               = ddlApproverList.SelectedValue;

            if (ddlApproverList.SelectedValue == "0")
            {
                ddlApproverList.Attributes.Add("class", "CSSHI");
                string script = "function ferrorMsg(){alert('You cannot select invalid option from approver list.'); Sys.Application.remove_load(ferrorMsg);}Sys.Application.add_load(ferrorMsg);";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
                ddlApproverList.SelectedValue = hfApproverPerson_Id.Value;
            }
            else
            {
                ddlApproverList.Attributes.Add("class", "CSSRHI");
                PSsqmEntities         ctx            = new PSsqmEntities();
                INCFORM_APPROVER_LIST ApproverAction = null;
                ApproverAction = SQMModelMgr.SelectINCFORMAPPROVERSLIST(ctx, Convert.ToDecimal(hfApproverItemID.Value));
                decimal personid = Convert.ToDecimal(ddlApproverList.SelectedValue);


                ApproverAction.PERSON_ID = personid;

                ApproverAction.SSO_ID = (from P in ctx.PERSON
                                         where (P.PERSON_ID == personid)
                                         select P.SSO_ID).FirstOrDefault();
                if ((ApproverAction = SQMModelMgr.UpdateApproverAction(ctx, ApproverAction, true)) != null)
                {
                    //ddlApprover.SelectedValue = "0";
                    //ddlStep.SelectedValue = "0";
                    //ddlPriv.SelectedValue = "0";
                    txtDescription.Text = "";
                    //txtDescriptionQuestion.Text = "";
                    rgApproverAction.DataSource = null;
                    rgApproverAction.DataBind();
                    rgRegionalApproverAction.DataSource = null;
                    rgRegionalApproverAction.DataBind();
                    BindApproverListA(SQMModelMgr.SelectINCFORMAPPROVERLIST(ctx, SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID, SessionManager.EffLocation.Plant.PLANT_ID, "A").ToList(), SessionManager.EffLocation, "busorg");
                    BindApproverListR(SQMModelMgr.SelectINCFORMAPPROVERLIST(ctx, SessionManager.EffLocation.BusinessOrg.BUS_ORG_ID, SessionManager.EffLocation.Plant.PLANT_ID, "R").ToList(), SessionManager.EffLocation, "busorg");
                    //INCFORM_APPROVER_LIST appList = (from i in ctx.INCFORM_APPROVER_LIST where i.PLANT_ID == ApproverAction.PLANT_ID && i.TYPE == "N" select i).FirstOrDefault();
                    //EHSNotificationMgr.NotifyAddApprover(appList.PERSON_ID, ApproverAction.PERSON_ID, "Add/Update Approver");
                }
            }
            //string _text1 = txtECustCode.Text.ToString();

            //try
            //{
            //    INCFORMAPPROVERLIST ApproverAction = SQMModelMgr.LookupINCFORMAPPROVERLIST(new PSsqmEntities(), Convert.ToDecimal(lnk.));
            //    if (ApproverAction != null)
            //    {
            //        hfApproverActionID.Value = ApproverAction.INCFORM_APPROVER_LIST_ID.ToString();
            //        //ddlApprover.SelectedValue = ApproverAction.PERSON_ID.ToString();
            //        ddlApproverType.SelectedValue = ApproverAction.TYPE;
            //        txtDescription.Text = ApproverAction.DESCRIPTION;
            //        //ddlPriv.SelectedValue = ApproverAction.PRIV.ToString();
            //        //ddlStep.SelectedValue = ApproverAction.STEP.ToString();
            //        //txtDescriptionQuestion.Text = ApproverAction.DESCRIPTION_QUESTION;
            //        btnDelete.Visible = true;

            //    }

            //    string script = "function f(){OpenApproverEditWindow(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
            //    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
            //}
            //catch
            //{
            //}
        }