protected void Authorize_Click(object sender, EventArgs e)
    {
        PageErrors errors = PageErrors.getErrors(db, Page.Master);

        errors.clear();
        ArrayList list = new ArrayList();

        foreach (RepeaterItem i in Repeater.Items)
        {
            CheckBox cb = (CheckBox)i.FindControl("ItemSelect");
            if (cb.Checked)
            {
                DBObject o = db.createObject();
                WebFormUtils.GetKeys(db, o, cb);
                list.Add(o);
            }
        }
        foreach (EEmpRequest o in list)
        {
            db.select(dbConn, o);
            // Start 0000063, KuangWei, 2014-08-25
            o.EmpRequestRejectReason = RejectReason.Text;
            // End 0000063, KuangWei, 2014-08-25
            try
            {
                ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);


                ERequestOTClaim empOTRequest = new ERequestOTClaim();
                empOTRequest.RequestOTClaimID = o.EmpRequestRecordID;

                if (ERequestOTClaim.db.select(dbConn, empOTRequest))
                {
                    // handle the case where CL Requisition requests are approved through Application Approval screen
                    if (empOTRequest.RequestOTClaimEffectiveDate.Ticks.Equals(0))
                    {
                        empOTRequest.RequestOTClaimEffectiveDate = AppUtils.ServerDateTime();
                        empOTRequest.RequestOTClaimDateExpiry    = calExpiryDate(empOTRequest.RequestOTClaimPeriodFrom);
                        ERequestOTClaim.db.update(dbConn, empOTRequest);
                    }
                }

                authorization.AuthorizeAction(o, CurID);
            }
            catch (Exception ex)
            {
                errors.addError(ex.Message);
            }
        }
        view = loadData(info, db, Repeater);
    }
    protected void OTAuthorize_Click(object sender, EventArgs e)
    {
        DBManager db            = EEmpRequest.db;
        DBFilter  RequestFilter = new DBFilter();

        PageErrors errors = PageErrors.getErrors(db, Page.Master);

        errors.clear();

        RequestFilter.add(new Match("EmpRequestRecordID", CurRequestID));
        RequestFilter.add(new Match("EmpRequestType", EEmpRequest.TYPE_EEOTCLAIM));
        ArrayList RequestList = EEmpRequest.db.select(dbConn, RequestFilter);

        if (RequestList.Count > 0)
        {
            EEmpRequest empRequest = (EEmpRequest)RequestList[0];
            try
            {
                // Start 0000060, Miranda, 2014-07-22
                ERequestOTClaim reqOTClaim = new ERequestOTClaim();
                Hashtable       values     = new Hashtable();
                binding.toValues(values);
                ERequestOTClaim.db.parse(values, reqOTClaim);

                DBFilter filterOT = new DBFilter();
                filterOT.add(new Match("RequestOTClaimID", CurRequestID));
                ArrayList RequestOTList = ERequestOTClaim.db.select(dbConn, filterOT);
                if (RequestOTList.Count > 0)
                {
                    ERequestOTClaim empOTRequest = (ERequestOTClaim)RequestOTList[0];
                    empOTRequest.RequestOTClaimDateExpiry    = reqOTClaim.RequestOTClaimDateExpiry;
                    empOTRequest.RequestOTClaimEffectiveDate = reqOTClaim.RequestOTClaimEffectiveDate;
                    ERequestOTClaim.db.update(dbConn, empOTRequest);
                }
                // End 0000060, Miranda, 2014-07-22

                ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);
                empRequest.EmpRequestRejectReason = RejectReason.Text;
                authorization.AuthorizeOTClaim(empRequest, UserID);
                HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpSupervisorApproval.aspx");
            }
            catch (Exception ex)
            {
                errors.addError(ex.Message);
            }
        }
        else
        {
            errors.addError("Request Cancel due to no permission!");
        }
    }
示例#3
0
    protected bool loadObject()
    {
        obj = new ERequestOTClaim();
        bool isNew = WebFormWorkers.loadKeys(db, obj, Request);

        if (!db.select(dbConn, obj))
        {
            return(false);
        }

        Hashtable values = new Hashtable();

        db.populate(obj, values);
        binding.toControl(values);

        return(true);
    }
示例#4
0
    protected void Save_Click(object sender, EventArgs e)
    {
        ERequestOTClaim c = new ERequestOTClaim();

        Hashtable values = new Hashtable();

        binding.toValues(values);

        PageErrors errors = PageErrors.getErrors(db, Page);

        errors.clear();


        db.validate(errors, values);

        if (!errors.isEmpty())
        {
            return;
        }


        db.parse(values, c);

        if (c.RequestOTClaimHourTo < c.RequestOTClaimHourFrom)
        {
            errors.addError("RequestOTClaimTimeFrom", "Invald hours");
        }
        if (c.RequestOTClaimPeriodTo < c.RequestOTClaimPeriodFrom)
        {
            errors.addError("RequestOTClaimPeriodFrom", "Date To cannot be earlier than Date From");
        }

        if (c.RequestOTHours <= 0)
        {
            errors.addError(string.Format(HROne.Translation.PageErrorMessage.ERROR_FIELD_REQUIRED, new string[] { lblOTHours.Text }));
        }

        if (!errors.isEmpty())
        {
            return;
        }

        // Start Ricky So, 2014-09-05, Avoid checking time overlap for CL Requisition
        //ArrayList overlapOTClaimList = new ArrayList();
        //if (c.IsOverlapOTClaim(dbConn, out overlapOTClaimList))
        //{
        //    string strHourlyOverlapMessage = string.Empty;

        //    foreach (BaseObject overlapOTClaim in overlapOTClaimList)
        //    {
        //        if (overlapOTClaim is EOTClaim)
        //        {
        //            EOTClaim previousOTClaim = (EOTClaim)overlapOTClaim;
        //            if (string.IsNullOrEmpty(strHourlyOverlapMessage))
        //                strHourlyOverlapMessage = "Leave time cannot overlap with previous CL Requisition";
        //        }
        //        else if (overlapOTClaim is ERequestOTClaim)
        //        {
        //            ERequestOTClaim previousRequestOTClaim = (ERequestOTClaim)overlapOTClaim;
        //            if (string.IsNullOrEmpty(strHourlyOverlapMessage))
        //                strHourlyOverlapMessage = "Leave time cannot overlap with previous CL Requisition";

        //        }
        //    }

        //    if (!string.IsNullOrEmpty(strHourlyOverlapMessage))
        //        errors.addError(strHourlyOverlapMessage);
        //}
        // End Ricky So, 2014-09-05

        if (!errors.isEmpty())
        {
            return;
        }

        try
        {
            ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);
            authorization.SubmitOTClaim(c);
        }
        catch (Exception ex)
        {
            errors.addError(ex.Message);
        }

        if (!errors.isEmpty())
        {
            return;
        }
        HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpRequestStatus.aspx");
    }
    protected bool loadObject()
    {
        DBFilter filterStatus = new DBFilter();

        filterStatus.add(new Match("EmpRequestRecordID", CurRequestID));
        filterStatus.add(new Match("EmpRequestType", EEmpRequest.TYPE_EEOTCLAIM));
        ArrayList empRequestList = EEmpRequest.db.select(dbConn, filterStatus);

        if (empRequestList.Count > 0)
        {
            EEmpRequest empRequest = (EEmpRequest)empRequestList[0];
            if (empRequest.EmpID == UserID)
            {
                string submitStatus = empRequest.EmpRequestStatus;
                if ((submitStatus.Equals(EEmpRequest.STATUS_SUBMITTED) || submitStatus.Equals(EEmpRequest.STATUS_ACCEPTED)) && !submitStatus.Equals(EEmpRequest.STATUS_APPROVED))
                {
                    btnCancel.Visible       = true;
                    RejectReasonRow.Visible = false;
                }
                else
                {
                    btnCancel.Visible = false;
                    if (!string.IsNullOrEmpty(empRequest.EmpRequestRejectReason))
                    {
                        RejectReasonRow.Visible = true;
                        lblRejectReason.Text    = empRequest.EmpRequestRejectReason;
                    }
                    else
                    {
                        RejectReasonRow.Visible = false;
                    }
                }
            }
            else
            {
                btnCancel.Visible       = false;
                RejectReasonRow.Visible = false;
            }
            obj = new ERequestOTClaim();
            obj.RequestOTClaimID = CurRequestID;
            if (!db.select(dbConn, obj))
            {
                return(false);
            }

            Hashtable values = new Hashtable();
            db.populate(obj, values);
            binding.toControl(values);

            OTClaimDateToPlaceHolder.Visible = true;
            TimeRow.Visible = true;

            string OTAuthorizedMessage = CONFIRM_MESSAGE;
            HoursClaimPanel.Visible = true;

            Authorize.Attributes.Add("onclick", "return confirm(\"" + HROne.Common.WebUtility.GetLocalizedString(OTAuthorizedMessage) + "\");");
            Reject.Attributes.Add("onclick", "return confirm(\"" + HROne.Common.WebUtility.GetLocalizedString(CONFIRM_MESSAGE) + "\");");


            return(true);
        }
        else
        {
            return(false);
        }
    }