示例#1
0
    protected void btnCancel_Click(object sender, EventArgs e)
    {
        DBFilter filterStatus = new DBFilter();

        //------------------------------------------------------
        //Select Filter record from the EmpRequest table by EmpRequestRecordID and Request Status
        filterStatus.add(new Match("EmpRequestRecordID", CurRequestID));
        filterStatus.add(new Match("EmpRequestType", EEmpRequest.TYPE_EELEAVEAPP));
        OR orStatus = new OR();

        orStatus.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_SUBMITTED));
        orStatus.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_ACCEPTED));

        filterStatus.add(orStatus);
        filterStatus.add(new Match("EmpRequestStatus", "<>", EEmpRequest.STATUS_APPROVED));
        //------------------------------------------------------
        ArrayList empRequestList = EEmpRequest.db.select(dbConn, filterStatus);

        if (empRequestList.Count > 0)
        {
            EEmpRequest             EmpRequest    = (EEmpRequest)empRequestList[0];
            ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);
            authorization.CancelAction(EmpRequest);
            HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpRequestStatus.aspx");
        }
    }
示例#2
0
    protected void LeaveReject_Click(object sender, EventArgs e)
    {
        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_EELEAVEAPP));
        ArrayList RequestList = EEmpRequest.db.select(dbConn, RequestFilter);

        if (RequestList.Count > 0)
        {
            EEmpRequest empRequest = (EEmpRequest)RequestList[0];
            empRequest.EmpRequestRejectReason = RejectReason.Text;
            try
            {
                ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);
                authorization.RejectLeaveApplication(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!");
        }
    }
    //public void loadState()
    //{
    //    info = new ListInfo();
    //    int page = 0;
    //    if (!CurPage.Value.Equals(""))
    //        page = Int32.Parse(CurPage.Value);
    //    info.loadState(Request, page);
    //    info.order = Order.Value.Equals("True");
    //    info.orderby = OrderBy.Value;
    //    if (info.orderby == "")
    //        info.orderby = null;
    //    info.recordPerPage = -1;
    //}
    public DataView loadData(ListInfo info, DBManager db, DataList repeater)
    {
        DBFilter filter = binding.createFilter();

        DateTime dtPeriodFr, dtPeriodTo;

        if (DateTime.TryParse(RequestFromDate.Value, out dtPeriodFr))
        {
            filter.add(new Match("RequestLeaveAppCancelCreateDateTime", ">=", dtPeriodFr));
        }
        if (DateTime.TryParse(RequestToDate.Value, out dtPeriodTo))
        {
            filter.add(new Match("RequestLeaveAppCancelCreateDateTime", "<", dtPeriodTo.AddDays(1)));
        }

        //if (info != null && info.orderby != null && !info.orderby.Equals(""))
        //    filter.add(info.orderby, info.order);

        filter.add(new Match("c.EmpID", this.CurID));

        if (!EmpRequestStatus.SelectedValue.Equals(string.Empty))
        {
            if (EmpRequestStatus.SelectedValue.Equals("REQUEESTSTATUS_PROCESSING"))
            {
                //AND andTerms = new AND();
                //andTerms.add(new Match("EmpRequestStatus", "<>", EEmpRequest.STATUS_APPROVED));
                //andTerms.add(new Match("EmpRequestStatus", "<>", EEmpRequest.STATUS_CANCELLED));
                //andTerms.add(new Match("EmpRequestStatus", "<>", EEmpRequest.STATUS_REJECTED));
                filter.add(EEmpRequest.EndStatusDBTerms("EmpRequestStatus", true));
            }
            else if (EmpRequestStatus.SelectedValue.Equals("REQUEESTSTATUS_END_PROCESS"))
            {
                //OR orTerms = new OR();
                //orTerms.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_APPROVED));
                //orTerms.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_CANCELLED));
                //orTerms.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_REJECTED));
                filter.add(EEmpRequest.EndStatusDBTerms("EmpRequestStatus", false));
            }
        }

        string select = "c.RequestLeaveAppCancelID, c.RequestLeaveAppCancelCreateDateTime, l.LeaveCode, l.LeaveCodeDesc, r.EmpRequestStatus, r.EmpRequestID, r.EmpRequestLastAuthorizationWorkFlowIndex, la.* ";
        string from   = "from " + db.dbclass.tableName + " c " +
                        " LEFT JOIN " + ELeaveApplication.db.dbclass.tableName + " la ON c.LeaveAppID = la.LeaveAppID " +
                        "  LEFT JOIN " + ELeaveCode.db.dbclass.tableName + " l ON la.LeaveCodeID=l.LeaveCodeID " +
                        " LEFT JOIN " + EEmpRequest.db.dbclass.tableName + " r On r.EmpRequestRecordID = c.RequestLeaveAppCancelID and r.EmpRequestType = '" + EEmpRequest.TYPE_EELEAVECANCEL + "'";


        DataTable table = filter.loadData(dbConn, info, select, from);

        view = new DataView(table);

        ListFooter.Refresh();

        if (repeater != null)
        {
            repeater.DataSource = view;
            repeater.DataBind();
        }
        return(view);
    }
示例#4
0
    protected void EmpInfoReject_Click(object sender, EventArgs e)
    {
        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_EEPROFILE));
        ArrayList RequestList = EEmpRequest.db.select(dbConn, RequestFilter);

        if (RequestList.Count > 0)
        {
            EEmpRequest empRequest = (EEmpRequest)RequestList[0];
            empRequest.EmpRequestRejectReason = RejectReason.Text;
            try
            {
                ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);
                authorization.RejectEmployeeInformationUpdate(empRequest, UserID);
                HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpRequestStatus.aspx");
            }
            catch (Exception ex)
            {
                errors.addError(ex.Message);
            }
        }
    }
    protected void Repeater_ItemCommand(object source, DataListCommandEventArgs e)
    {
        PageErrors errors = PageErrors.getErrors(EOTClaim.db, Page.Master);

        DBFilter        filterStatus = new DBFilter();
        DBManager       Requestdb    = EEmpRequest.db;
        HtmlInputHidden h            = (HtmlInputHidden)e.Item.FindControl("_RequestOTClaimCancelID");

        //------------------------------------------------------
        //Select Filter record from the EmpRequest table by EmpRequestRecordID and Request Status
        filterStatus.add(new Match("EmpRequestRecordID", Int32.Parse(h.Value)));
        OR orStatus = new OR();

        orStatus.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_SUBMITTED));
        orStatus.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_ACCEPTED));

        filterStatus.add(orStatus);
        filterStatus.add(new Match("EmpRequestStatus", "<>", EEmpRequest.STATUS_APPROVED));
        //------------------------------------------------------
        if (Requestdb.count(dbConn, filterStatus) > 0)
        {
            ArrayList               EmpRequestList = Requestdb.select(dbConn, filterStatus);
            EEmpRequest             EmpRequest     = (EEmpRequest)EmpRequestList[0];
            ESSAuthorizationProcess authorization  = new ESSAuthorizationProcess(dbConn);
            authorization.CancelAction(EmpRequest);
            errors.addError(HROne.Common.WebUtility.GetLocalizedString("The CL Requisition is cancelled"));
        }
        view = loadData(info, db, Repeater);
    }
示例#6
0
    protected void Cancel_Click(object sender, EventArgs e)
    {
        DBFilter   filterStatus = new DBFilter();
        DBManager  Requestdb    = EEmpRequest.db;
        PageErrors errors       = PageErrors.getErrors(db, Page.Master);;

        errors.clear();
        //------------------------------------------------------
        //Select Filter record from the EmpRequest table by EmpRequestRecordID and Request Status
        filterStatus.add(new Match("EmpRequestRecordID", RequestID));
        OR or = new OR();

        or.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_SUBMITTED));
        or.add(new Match("EmpRequestStatus", EEmpRequest.STATUS_ACCEPTED));
        filterStatus.add(or);
        //------------------------------------------------------
        if (Requestdb.count(dbConn, filterStatus) > 0)
        {
            ArrayList               EmpRequestList = Requestdb.select(dbConn, filterStatus);
            EEmpRequest             EmpRequest     = (EEmpRequest)EmpRequestList[0];
            ESSAuthorizationProcess authorization  = new ESSAuthorizationProcess(dbConn);
            authorization.CancelAction(EmpRequest);
            HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpRequestStatus.aspx");
        }
    }
示例#7
0
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        DateTime createDate = DateTime.Now;
        ERequestLeaveApplicationCancel c = new ERequestLeaveApplicationCancel();
        EEmpRequest EmpRequest           = new EEmpRequest();


        Binding leaveCancelBinding = new Binding(dbConn, ERequestLeaveApplicationCancel.db);

        leaveCancelBinding.add(EmpID);
        leaveCancelBinding.add(LeaveAppID);
        leaveCancelBinding.add(RequestLeaveAppCancelReason);

        Hashtable values = new Hashtable();

        leaveCancelBinding.toValues(values);

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

        errors.clear();


        ERequestLeaveApplicationCancel.db.validate(errors, values);

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


        ERequestLeaveApplicationCancel.db.parse(values, c);

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



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

        if (!errors.isEmpty())
        {
            return;
        }
        HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpRequestStatus.aspx");
    }
    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!");
        }
    }
    public DataView loadData(ListInfo info, DBManager db, DataList repeater)
    {
        DBFilter filter = binding.createFilter();

        DateTime dtPeriodFr, dtPeriodTo;

        if (DateTime.TryParse(RequestFromDate.Value, out dtPeriodFr))
        {
            filter.add(new Match("RequestOTClaimCancelCreateDateTime", ">=", dtPeriodFr));
        }
        if (DateTime.TryParse(RequestToDate.Value, out dtPeriodTo))
        {
            filter.add(new Match("RequestOTClaimCancelCreateDateTime", "<", dtPeriodTo.AddDays(1)));
        }

        filter.add(new Match("c.EmpID", this.CurID));

        if (!EmpRequestStatus.SelectedValue.Equals(string.Empty))
        {
            if (EmpRequestStatus.SelectedValue.Equals("REQUEESTSTATUS_PROCESSING"))
            {
                filter.add(EEmpRequest.EndStatusDBTerms("EmpRequestStatus", true));
            }
            else if (EmpRequestStatus.SelectedValue.Equals("REQUEESTSTATUS_END_PROCESS"))
            {
                filter.add(EEmpRequest.EndStatusDBTerms("EmpRequestStatus", false));
            }
        }

        string select = "c.RequestOTClaimCancelID, c.RequestOTClaimCancelCreateDateTime, r.EmpRequestStatus, r.EmpRequestID, r.EmpRequestLastAuthorizationWorkFlowIndex, la.* ";
        string from   = "from " + db.dbclass.tableName + " c " +
                        " LEFT JOIN " + EOTClaim.db.dbclass.tableName + " la ON c.OTClaimID = la.OTClaimID " +
                        " LEFT JOIN " + EEmpRequest.db.dbclass.tableName + " r On r.EmpRequestRecordID = c.RequestOTClaimCancelID and r.EmpRequestType = '" + EEmpRequest.TYPE_EEOTCLAIM + "'";


        DataTable table = filter.loadData(dbConn, info, select, from);

        view = new DataView(table);

        ListFooter.Refresh();

        if (repeater != null)
        {
            repeater.DataSource = view;
            repeater.DataBind();
        }
        return(view);
    }
    public DataView loadData(ListInfo info, DBManager db, Repeater repeater)
    {
        DBFilter filter = sbinding.createFilter();

        filter.add(new Match("c.EmpID", this.CurID));
        filter.add(new IN("e.EmpRequestType", lateWaiveReqType));
        //filter.add(new Match("Year(RequestLateWaiveCreateDate)", "=", Year.Text));
        //Start 0000210, Miranda, 2015-06-14
        //if (info != null && info.orderby != null && !info.orderby.Equals(""))
        //    filter.add(info.orderby, info.order);
        //End 0000210, Miranda, 2015-06-14
        string select = "c.*, e.EmpRequestID, a.AttendanceRecordDate, a.AttendanceRecordWorkStart, a.AttendanceRecordWorkEnd, a.AttendanceRecordActualLateMins, r.RosterCodeDesc ";
        string from   = "from [" + sdb.dbclass.tableName + "] c" +
                        " right join " + EEmpRequest.db.dbclass.tableName + " e on e.EmpRequestRecordID = c.RequestLateWaiveID and e.EmpID = c.EmpID" +
                        " left join " + EAttendanceRecord.db.dbclass.tableName + " a on a.AttendanceRecordID = c.AttendanceRecordID" +
                        " left join " + ERosterCode.db.dbclass.tableName + " r on r.RosterCodeID = a.RosterCodeID";

        DataTable table = filter.loadData(dbConn, info, select, from);

        view = new DataView(table);

        ListFooter.Refresh();

        if (repeater != null)
        {
            repeater.DataSource = view;
            repeater.DataBind();
        }
        if (CurEntitleID != -1)
        {
            EEmpRequest detail = new EEmpRequest();
            detail.EmpRequestID = this.CurEntitleID;
            if (EEmpRequest.db.select(dbConn, detail))
            {
                // Start 0000112, Miranda, 2015-01-11
                lblActionDate.Text = detail.EmpRequestCreateDate.ToString("yyyy-MM-dd HH:mm:ss");
                // End 0000112, Miranda, 2015-01-11
                lblActionBy.Text = detail.EmpRequestLastActionBy;
                lblStatus.Text   = detail.EmpRequestStatus;
                lblReason.Text   = detail.EmpRequestRejectReason;
            }
        }
        return(view);
    }
示例#11
0
    protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView row = (DataRowView)e.Item.DataItem;
        //CheckBox cb = (CheckBox)e.Item.FindControl("ItemSelect");
        HtmlAnchor requestLink = (HtmlAnchor)e.Item.FindControl("requestLink");

        //WebFormUtils.LoadKeys(db, row, cb);
        //cb.Checked=false;
        //cb.Visible = false;

        EEmpRequest obj = new EEmpRequest();

        EEmpRequest.db.toObject(((DataRowView)e.Item.DataItem).Row, obj);
        //// Start 0000047, Miranda, 2014-06-04
        //if (obj.EmpRequestStatus.Equals(EEmpRequest.STATUS_APPROVED) || obj.EmpRequestStatus.Equals(EEmpRequest.STATUS_REJECTED))
        //{
        //    requestLink.HRef = "";
        //    requestLink.Title = generateToolTipMessage(obj);
        //}
        //else if (obj.EmpRequestStatus.Equals(EEmpRequest.STATUS_CANCELLED))
        //{
        //    requestLink.HRef = "";
        //    requestLink.Title = "";
        //}
        //else
        //{
        requestLink.HRef = HROne.Common.WebUtility.URLwithEncryptQueryString(Session, "~/ESS_EmpRequestDetail.aspx?TargetEmpID=" + obj.EmpID + "&EmpRequestRecordID=" + obj.EmpRequestRecordID + "&EmpRequestID=" + obj.EmpRequestID);
        //requestLink.InnerText = row["EmpNo"].ToString();
        requestLink.Title = generateToolTipMessage(obj);
        //}
        //// End 0000047, Miranda, 2014-06-04
        ESSAuthorizationProcess authorization       = new ESSAuthorizationProcess(dbConn);
        ArrayList workFlowDetailList                = authorization.GetAuthorizationWorkFlowDetailList(obj.EmpID, obj.EmpRequestType);
        EAuthorizationWorkFlowDetail workFlowDetail = authorization.GetCurrentWorkFlowDetailObject(workFlowDetailList, obj.EmpRequestLastAuthorizationWorkFlowIndex, CurID);
        //if (workFlowDetail != null)
        //{
        //    ArrayList authorizerList =  workFlowDetail.GetActualAutorizerObjectList(dbConn, CurID);
        //    foreach (EAuthorizer authorizer in authorizerList)
        //        if (!authorizer.AuthorizerIsReadOnly)
        //            cb.Visible = true;
        //}
    }
    protected bool loadObject()
    {
        obj       = new EEmpPersonalInfo();
        obj.EmpID = CurID;
        if (!db.select(dbConn, obj))
        {
            return(false);
        }

        Hashtable values = new Hashtable();

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

        //------------------------------------------------------
        //Select EmpRequestID from the EmpRequest table. Check Employee has submit the employee information
        DBFilter  filterStatus = new DBFilter();
        DBManager Requestdb    = EEmpRequest.db;

        filterStatus.add(new Match("EmpID", CurID));
        filterStatus.add(new Match("EmpRequestType", EEmpRequest.TYPE_EEPROFILE));
        filterStatus.add(new Match("EmpRequestStatus", "<>", EEmpRequest.STATUS_REJECTED));
        filterStatus.add(new Match("EmpRequestStatus", "<>", EEmpRequest.STATUS_APPROVED));
        filterStatus.add(new Match("EmpRequestStatus", "<>", EEmpRequest.STATUS_CANCELLED));

        if (Requestdb.count(dbConn, filterStatus) > 0)
        {
            ArrayList   EmpRequestList = Requestdb.select(dbConn, filterStatus);
            EEmpRequest EmpRequest     = (EEmpRequest)EmpRequestList[0];
            uc3Emp_Request_Empinfo.CurrentRequestID     = EmpRequest.EmpRequestRecordID;
            uc3Emp_Request_Empinfo.CurrentRequestStatus = HROne.Common.WebUtility.GetLocalizedString(EmpRequest.EmpRequestStatus);
            uc3Emp_Request_Empinfo.Visible = true;
            uc1Emp_info.Visible            = false;
        }
        else
        {
            uc3Emp_Request_Empinfo.Visible = false;
            uc1Emp_info.Visible            = true;
        }

        return(true);
    }
示例#13
0
    protected void Save_Click(object sender, EventArgs e)
    {
        DateTime         createDate = DateTime.Now;
        EEmpPersonalInfo c          = new EEmpPersonalInfo();
        EEmpRequest      EmpRequest = new EEmpRequest();


        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 (!errors.isEmpty())
        {
            return;
        }

        ERequestEmpPersonalInfo RequestEmpProfile = new ERequestEmpPersonalInfo();

        // Start 0000092, KuangWei, 2014-10-17
        if (c.EmpNationalityID > 0)
        {
            ENationality m_nationality = new ENationality();
            m_nationality.NationalityID = c.EmpNationalityID;
            if (ENationality.db.select(dbConn, m_nationality))
            {
                c.EmpNationality = m_nationality.NationalityDesc;
            }
        }
        else
        {
            c.EmpNationality = "";
        }

        if (c.EmpPlaceOfBirthID > 0)
        {
            EPlaceOfBirth m_placeOfBirth = new EPlaceOfBirth();
            m_placeOfBirth.PlaceOfBirthID = c.EmpPlaceOfBirthID;
            if (EPlaceOfBirth.db.select(dbConn, m_placeOfBirth))
            {
                c.EmpPlaceOfBirth = m_placeOfBirth.PlaceOfBirthDesc;
            }
        }
        else
        {
            c.EmpPlaceOfBirth = "";
        }

        if (c.EmpPassportIssuedCountryID > 0)
        {
            EIssueCountry m_issueCountry = new EIssueCountry();
            m_issueCountry.CountryID = c.EmpPassportIssuedCountryID;
            if (EIssueCountry.db.select(dbConn, m_issueCountry))
            {
                c.EmpPassportIssuedCountry = m_issueCountry.CountryDesc;
            }
        }
        else
        {
            c.EmpPassportIssuedCountry = "";
        }


        RequestEmpProfile.RequestEmpPlaceOfBirth            = c.EmpPlaceOfBirth;
        RequestEmpProfile.RequestEmpPlaceOfBirthID          = c.EmpPlaceOfBirthID;
        RequestEmpProfile.RequestEmpPassportIssuedCountryID = c.EmpPassportIssuedCountryID;
        RequestEmpProfile.RequestEmpNationalityID           = c.EmpNationalityID;
        // End 0000092, KuangWei, 2014-10-17
        RequestEmpProfile.EmpID                           = c.EmpID;
        RequestEmpProfile.RequestEmpAlias                 = c.EmpAlias;
        RequestEmpProfile.RequestEmpMaritalStatus         = c.EmpMaritalStatus;
        RequestEmpProfile.RequestEmpPassportNo            = c.EmpPassportNo;
        RequestEmpProfile.RequestEmpPassportIssuedCountry = c.EmpPassportIssuedCountry;
        RequestEmpProfile.RequestEmpPassportExpiryDate    = c.EmpPassportExpiryDate;
        RequestEmpProfile.RequestEmpNationality           = c.EmpNationality;
        RequestEmpProfile.RequestEmpHomePhoneNo           = c.EmpHomePhoneNo;
        RequestEmpProfile.RequestEmpMobileNo              = c.EmpMobileNo;
        RequestEmpProfile.RequestEmpOfficePhoneNo         = c.EmpOfficePhoneNo;
        RequestEmpProfile.RequestEmpEmail                 = c.EmpEmail;
        RequestEmpProfile.RequestEmpResAddr               = c.EmpResAddr;
        RequestEmpProfile.RequestEmpResAddrAreaCode       = c.EmpResAddrAreaCode;
        RequestEmpProfile.RequestEmpCorAdd                = c.EmpCorAddr;

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

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

        filterStatus.add(new Match("EmpRequestRecordID", CurRequestID));
        filterStatus.add(new Match("EmpRequestType", EEmpRequest.TYPE_EELATEWAIVECANCEL));
        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 ERequestLateWaiveCancel();
            obj.RequestLateWaiveCancelID = CurRequestID;
            if (!db.select(dbConn, obj))
            {
                return(false);
            }

            Hashtable lateWaiveCancelValues = new Hashtable();
            db.populate(obj, lateWaiveCancelValues);
            cancelBinding.toControl(lateWaiveCancelValues);

            ELateWaive LateWaive = new ELateWaive();
            LateWaive.LateWaiveID = obj.LateWaiveID;
            if (!ELateWaive.db.select(dbConn, LateWaive))
            {
                return(false);
            }

            EAttendanceRecord aObj = new EAttendanceRecord();
            aObj.AttendanceRecordID = LateWaive.AttendanceRecordID;
            if (sdb.select(dbConn, aObj))
            {
                // Start 0000112, Miranda, 2015-01-17
                AttendanceRecordDate.Text = aObj.AttendanceRecordDate.ToString("yyyy-MM-dd");
                ERosterCode rcObj = new ERosterCode();
                rcObj.RosterCodeID = aObj.RosterCodeID;
                if (ERosterCode.db.select(dbConn, rcObj))
                {
                    RosterCode.Text        = rcObj.RosterCode;
                    RosterCodeDesc.Text    = rcObj.RosterCodeDesc;
                    RosterCodeInTime.Text  = rcObj.RosterCodeInTime.ToString("HH:mm");
                    RosterCodeOutTime.Text = rcObj.RosterCodeOutTime.ToString("HH:mm");
                }
                AttendanceRecordWorkStart.Text = aObj.AttendanceRecordWorkStart.ToString("HH:mm");
                AttendanceRecordWorkEnd.Text   = aObj.AttendanceRecordWorkEnd.ToString("HH:mm");
                // End 0000112, Miranda, 2015-01-17
                AttendanceRecordActualLateMins.Text = aObj.AttendanceRecordActualLateMins.ToString();
            }

            Hashtable LateWaiveValues = new Hashtable();
            ELateWaive.db.populate(LateWaive, LateWaiveValues);
            lateWaiveBinding.toControl(LateWaiveValues);

            LateWaiveDateToPlaceHolder.Visible = true;

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

            return(true);
        }
        else
        {
            return(false);
        }
    }
    protected bool loadObject()
    {
        DBFilter filterStatus = new DBFilter();

        filterStatus.add(new Match("EmpRequestRecordID", CurRequestID));
        filterStatus.add(new Match("EmpRequestType", EEmpRequest.TYPE_EEOTCLAIMCANCEL));
        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 ERequestOTClaimCancel();
            obj.RequestOTClaimCancelID = CurRequestID;
            if (!db.select(dbConn, obj))
            {
                return(false);
            }

            Hashtable OTCancelValues = new Hashtable();
            db.populate(obj, OTCancelValues);
            cancelBinding.toControl(OTCancelValues);

            EOTClaim OTClaim = new EOTClaim();
            OTClaim.OTClaimID = obj.OTClaimID;
            if (!EOTClaim.db.select(dbConn, OTClaim))
            {
                return(false);
            }

            Hashtable OTClaimValues = new Hashtable();
            EOTClaim.db.populate(OTClaim, OTClaimValues);
            OTClaimBinding.toControl(OTClaimValues);

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

            HoursClaimPanel.Visible = true;

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

            return(true);
        }
        else
        {
            return(false);
        }
    }
示例#16
0
    protected bool loadObject()
    {
        DBFilter filterStatus = new DBFilter();

        filterStatus.add(new Match("EmpRequestRecordID", CurRequestID));
        filterStatus.add(new Match("EmpRequestType", EEmpRequest.TYPE_EELEAVEAPP));
        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;
                    // Start 0000063, KuangWei, 2014-08-25
                    if (!string.IsNullOrEmpty(empRequest.EmpRequestRejectReason))
                    {
                        RejectReasonRow.Visible = true;
                        lblReject.Visible       = false;
                        lblAuthorize.Visible    = true;
                        lblRejectReason.Text    = empRequest.EmpRequestRejectReason;
                    }
                    else
                    {
                        RejectReasonRow.Visible = false;
                    }
                    // End 0000063, KuangWei, 2014-08-25
                }
                else
                {
                    btnCancel.Visible = false;
                    if (!string.IsNullOrEmpty(empRequest.EmpRequestRejectReason))
                    {
                        RejectReasonRow.Visible = true;
                        // Start 0000063, KuangWei, 2014-08-25
                        lblReject.Visible    = true;
                        lblAuthorize.Visible = false;
                        // End 0000063, KuangWei, 2014-08-25
                        lblRejectReason.Text = empRequest.EmpRequestRejectReason;
                    }
                    else
                    {
                        RejectReasonRow.Visible = false;
                    }
                }
            }
            else
            {
                btnCancel.Visible       = false;
                RejectReasonRow.Visible = false;
            }
            obj = new ERequestLeaveApplication();
            obj.RequestLeaveAppID = CurRequestID;
            if (!db.select(dbConn, obj))
            {
                return(false);
            }
            Emp_LeaveBalance_List1.EmpID    = obj.EmpID;
            Emp_LeaveBalance_List1.AsOfDate = obj.RequestLeaveAppDateFrom;

            Hashtable values = new Hashtable();
            db.populate(obj, values);
            binding.toControl(values);
            //EEmpPersonalInfo EmpInfo = new EEmpPersonalInfo();
            //EmpInfo.EmpID = obj.EmpID;
            //if (EEmpPersonalInfo.db.select(dbConn, EmpInfo))
            //    EmpName.Text = EmpInfo.EmpNo + " - " + EmpInfo.EmpEngFullNameWithAlias;

            if (obj.RequestLeaveAppUnit.Equals("D"))
            {
                TimeRow.Visible = false;
                LeaveAppDateToPlaceHolder.Visible = true;
            }
            else
            {
                TimeRow.Visible = true;
                LeaveAppDateToPlaceHolder.Visible = false;
            }

            string     leaveAuthorizedMessage = CONFIRM_MESSAGE;
            ELeaveCode leaveCode = new ELeaveCode();
            leaveCode.LeaveCodeID = obj.RequestLeaveCodeID;
            if (ELeaveCode.db.select(dbConn, leaveCode))
            {
                LeaveCodeIsShowMedicalCertOptionPanel.Visible = leaveCode.LeaveCodeIsShowMedicalCertOption;

                if (leaveCode.LeaveTypeID.Equals(ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID))
                {
                    HoursClaimPanel.Visible = true;
                }
                else
                {
                    HoursClaimPanel.Visible = false;
                }

                if (leaveCode.LeaveTypeID.Equals(ELeaveType.ANNUAL_LEAVE_TYPE(dbConn).LeaveTypeID))
                {
                    EEmpPersonalInfo empInfo = new EEmpPersonalInfo();
                    empInfo.EmpID = obj.EmpID;
                    if (EEmpPersonalInfo.db.select(dbConn, empInfo))
                    {
                        if (AppUtils.ServerDateTime().Date <= empInfo.EmpProbaLastDate || obj.RequestLeaveAppDateFrom <= empInfo.EmpProbaLastDate)
                        {
                            leaveAuthorizedMessage = AL_AUTHORIZED_BEFORE_PROBATION_MESSAGE;
                        }
                    }
                }
            }
            else
            {
                HoursClaimPanel.Visible = false;
            }

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


            return(true);
        }
        else
        {
            return(false);
        }
    }
示例#17
0
    protected bool loadObject()
    {
        bool allowApproval = false;

        DBManager Requestdb    = EAuthorizer.db;
        DBFilter  filterStatus = new DBFilter();

        filterStatus.add(new Match("EmpID", CurID));


        int targetEmpID = 0;

        EEmpRequest Request = new EEmpRequest();

        Request.EmpRequestID = CurRequestID;
        if (EEmpRequest.db.select(dbConn, Request))
        {
            targetEmpID = Request.EmpID;
            if (Request.EmpRequestType == EEmpRequest.TYPE_EELEAVEAPP)
            {
                LeaveApplicationRecord1.Visible = true;
                uc1Emp_info.Visible             = true;
                uc1Emp_info.CurID = Request.EmpID;
                uc3Emp_Request_Empinfo.Visible        = false;
                LeaveApplicationCancelRecord1.Visible = false;
                // Start 0000060, Miranda, 2014-07-13
                OTClaimRecord1.Visible       = false;
                OTClaimCancelRecord1.Visible = false;
                // End 0000060, Miranda, 2014-07-13
                // Start 0000112, Miranda, 2014-12-10
                LateWaiveRecord1.Visible       = false;
                LateWaiveCancelRecord1.Visible = false;
                // End 0000112, Miranda, 2014-12-10
            }
            else if (Request.EmpRequestType == EEmpRequest.TYPE_EEPROFILE)
            {
                LeaveApplicationRecord1.Visible = false;
                uc1Emp_info.Visible             = false;
                uc3Emp_Request_Empinfo.Visible  = true;
                uc3Emp_Request_Empinfo.CurrentRequestStatusLabel = HROne.Common.WebUtility.GetLocalizedString(Request.EmpRequestStatus);
                LeaveApplicationCancelRecord1.Visible            = false;
                // Start 0000060, Miranda, 2014-07-13
                OTClaimRecord1.Visible       = false;
                OTClaimCancelRecord1.Visible = false;
                // End 0000060, Miranda, 2014-07-13
                // Start 0000112, Miranda, 2014-12-10
                LateWaiveRecord1.Visible       = false;
                LateWaiveCancelRecord1.Visible = false;
                // End 0000112, Miranda, 2014-12-10
            }
            else if (Request.EmpRequestType == EEmpRequest.TYPE_EELEAVECANCEL)
            {
                LeaveApplicationRecord1.Visible = false;
                uc1Emp_info.Visible             = true;
                uc1Emp_info.CurID = Request.EmpID;
                uc3Emp_Request_Empinfo.Visible        = false;
                LeaveApplicationCancelRecord1.Visible = true;
                // Start 0000060, Miranda, 2014-07-13
                OTClaimRecord1.Visible       = false;
                OTClaimCancelRecord1.Visible = false;
                // End 0000060, Miranda, 2014-07-13
                // Start 0000112, Miranda, 2014-12-10
                LateWaiveRecord1.Visible       = false;
                LateWaiveCancelRecord1.Visible = false;
                // End 0000112, Miranda, 2014-12-10
            }
            // Start 0000060, Miranda, 2014-07-13
            else if (Request.EmpRequestType == EEmpRequest.TYPE_EEOTCLAIM)
            {
                LeaveApplicationRecord1.Visible = false;
                uc1Emp_info.Visible             = true;
                uc1Emp_info.CurID = Request.EmpID;
                uc3Emp_Request_Empinfo.Visible        = false;
                LeaveApplicationCancelRecord1.Visible = false;
                OTClaimRecord1.Visible       = true;
                OTClaimCancelRecord1.Visible = false;
                // Start 0000112, Miranda, 2014-12-10
                LateWaiveRecord1.Visible       = false;
                LateWaiveCancelRecord1.Visible = false;
                // End 0000112, Miranda, 2014-12-10
            }
            else if (Request.EmpRequestType == EEmpRequest.TYPE_EEOTCLAIMCANCEL)
            {
                LeaveApplicationRecord1.Visible = false;
                uc1Emp_info.Visible             = true;
                uc1Emp_info.CurID = Request.EmpID;
                uc3Emp_Request_Empinfo.Visible        = false;
                LeaveApplicationCancelRecord1.Visible = false;
                OTClaimRecord1.Visible       = false;
                OTClaimCancelRecord1.Visible = true;
                // Start 0000112, Miranda, 2014-12-10
                LateWaiveRecord1.Visible       = false;
                LateWaiveCancelRecord1.Visible = false;
                // End 0000112, Miranda, 2014-12-10
            }
            // End 0000060, Miranda, 2014-07-13
            // Start 0000112, Miranda, 2014-12-10
            else if (Request.EmpRequestType == EEmpRequest.TYPE_EELATEWAIVE)
            {
                LeaveApplicationRecord1.Visible = false;
                uc1Emp_info.Visible             = true;
                uc1Emp_info.CurID = Request.EmpID;
                uc3Emp_Request_Empinfo.Visible        = false;
                LeaveApplicationCancelRecord1.Visible = false;
                OTClaimRecord1.Visible         = false;
                OTClaimCancelRecord1.Visible   = false;
                LateWaiveRecord1.Visible       = true;
                LateWaiveCancelRecord1.Visible = false;
            }
            else if (Request.EmpRequestType == EEmpRequest.TYPE_EELATEWAIVECANCEL)
            {
                LeaveApplicationRecord1.Visible = false;
                uc1Emp_info.Visible             = true;
                uc1Emp_info.CurID = Request.EmpID;
                uc3Emp_Request_Empinfo.Visible        = false;
                LeaveApplicationCancelRecord1.Visible = false;
                OTClaimRecord1.Visible         = false;
                OTClaimCancelRecord1.Visible   = false;
                LateWaiveRecord1.Visible       = false;
                LateWaiveCancelRecord1.Visible = true;
            }
            // End 0000112, Miranda, 2014-12-10
        }

        if (Requestdb.count(dbConn, filterStatus) > 0)
        {
            //obj = new EEmpPersonalInfo();
            //obj.EmpID = CurID;
            //if (!db.select(obj))
            //    return false;

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



            //------------------------------------------------------


            //for (int i = 1; i <= 2; i++)
            //{
            //    ArrayList EmpAuthorizerList = ESSAuthorizerEmail.Get_AuthorizerList(dbConn, targetEmpID, i);
            //    if (!(EmpAuthorizerList == null))
            //    {

            //        foreach (EAuthorizer EmpAuthorizer in EmpAuthorizerList)
            //        {
            //                if (EmpAuthorizer.EmpID  == CurID)
            //                {

            //                    EAuthorizationGroup authGroup = new EAuthorizationGroup();
            //                    authGroup.AuthorizationGroupID = EmpAuthorizer.AuthorizationGroupID;
            //                    if (EAuthorizationGroup.db.select(dbConn, authGroup))
            //                    {
            //                        IsAuthorizer = true;
            //                        if (authGroup.AuthorizationGroupIsApproveEEInfo)
            //                            allowEEInfoApproval = true;
            //                        if (authGroup.AuthorizationGroupIsApproveLeave)
            //                            allowLeaveInfoApproval = true;

            //                    }
            //                    break;
            //                }
            //        }
            //    }
            //}
            //------------------------------------------------------

            ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);
            ArrayList workFlowDetailList          = authorization.GetAuthorizationWorkFlowDetailList(Request.EmpID, Request.EmpRequestType);
            EAuthorizationWorkFlowDetail currentWorkFlowDetail = authorization.GetCurrentWorkFlowDetailObject(
                workFlowDetailList,
                Request.EmpRequestLastAuthorizationWorkFlowIndex, CurID);
            if (currentWorkFlowDetail != null
                )
            {
                allowApproval = true;
            }
            else
            {
                allowApproval = false;
            }


            if (allowApproval || Request.EmpID == CurID)
            {
                LeaveApplicationRecord1.Visible       = LeaveApplicationRecord1.Visible & Request.EmpRequestType.Equals(EEmpRequest.TYPE_EELEAVEAPP);
                uc3Emp_Request_Empinfo.Visible        = uc3Emp_Request_Empinfo.Visible & Request.EmpRequestType.Equals(EEmpRequest.TYPE_EEPROFILE);
                LeaveApplicationCancelRecord1.Visible = LeaveApplicationCancelRecord1.Visible & Request.EmpRequestType.Equals(EEmpRequest.TYPE_EELEAVECANCEL);
                // Start 0000060, Miranda, 2014-07-13
                OTClaimRecord1.Visible       = OTClaimRecord1.Visible & Request.EmpRequestType.Equals(EEmpRequest.TYPE_EEOTCLAIM);
                OTClaimCancelRecord1.Visible = OTClaimCancelRecord1.Visible & Request.EmpRequestType.Equals(EEmpRequest.TYPE_EEOTCLAIMCANCEL);
                // End 0000060, Miranda, 2014-07-13
                // Start 0000112, Miranda, 2014-12-10
                LateWaiveRecord1.Visible       = LateWaiveRecord1.Visible & Request.EmpRequestType.Equals(EEmpRequest.TYPE_EELATEWAIVE);
                LateWaiveCancelRecord1.Visible = LateWaiveCancelRecord1.Visible & Request.EmpRequestType.Equals(EEmpRequest.TYPE_EELATEWAIVECANCEL);
                // End 0000112, Miranda, 2014-12-10
            }
            else
            {
                LeaveApplicationRecord1.Visible       = false;
                uc3Emp_Request_Empinfo.Visible        = false;
                LeaveApplicationCancelRecord1.Visible = false;
                // Start 0000060, Miranda, 2014-07-13
                OTClaimRecord1.Visible       = false;
                OTClaimCancelRecord1.Visible = false;
                // End 0000060, Miranda, 2014-07-13
                // Start 0000112, Miranda, 2014-12-10
                LateWaiveRecord1.Visible       = false;
                LateWaiveCancelRecord1.Visible = false;
                // End 0000112, Miranda, 2014-12-10
            }
            LeaveApplicationRecord1.ShowAuthorizeOption       = false;
            uc3Emp_Request_Empinfo.ShowAuthorizeOption        = false;
            LeaveApplicationCancelRecord1.ShowAuthorizeOption = false;
            // Start 0000060, Miranda, 2014-07-13
            OTClaimRecord1.ShowAuthorizeOption       = false;
            OTClaimCancelRecord1.ShowAuthorizeOption = false;
            // End 0000060, Miranda, 2014-07-13
            // Start 0000112, Miranda, 2014-12-10
            LateWaiveRecord1.ShowAuthorizeOption       = false;
            LateWaiveCancelRecord1.ShowAuthorizeOption = false;
            // End 0000112, Miranda, 2014-12-10
            if (allowApproval &&
                Request.EmpRequestStatus != EEmpRequest.STATUS_APPROVED &&
                Request.EmpRequestStatus != EEmpRequest.STATUS_REJECTED &&
                Request.EmpRequestStatus != EEmpRequest.STATUS_CANCELLED
                )
            {
                ArrayList authorizerList = currentWorkFlowDetail.GetActualAutorizerObjectList(dbConn, CurID);
                foreach (EAuthorizer authorizer in authorizerList)
                {
                    if (!authorizer.AuthorizerIsReadOnly)
                    {
                        // **** Start 2014-04-09, 0000027, Ricky So
                        //LeaveApplicationRecord1.ShowAuthorizeOption = true;
                        //uc3Emp_Request_Empinfo.ShowAuthorizeOption = true;
                        //LeaveApplicationCancelRecord1.ShowAuthorizeOption = true;
                        //
                        LeaveApplicationRecord1.ShowAuthorizeOption       = (targetEmpID != CurID);
                        uc3Emp_Request_Empinfo.ShowAuthorizeOption        = (targetEmpID != CurID);
                        LeaveApplicationCancelRecord1.ShowAuthorizeOption = (targetEmpID != CurID);
                        // **** End 2014-04-09, 00000027, Ricky So
                        // Start 0000060, Miranda, 2014-07-13
                        OTClaimRecord1.ShowAuthorizeOption       = (targetEmpID != CurID);
                        OTClaimCancelRecord1.ShowAuthorizeOption = (targetEmpID != CurID);
                        // End 0000060, Miranda, 2014-07-13
                        // Start 0000112, Miranda, 2014-12-10
                        LateWaiveRecord1.ShowAuthorizeOption       = (targetEmpID != CurID);
                        LateWaiveCancelRecord1.ShowAuthorizeOption = (targetEmpID != CurID);
                        // End 0000112, Miranda, 2014-12-10
                    }
                }
            }

            return(true);
        }
        else if (targetEmpID == CurID)
        {
            LeaveApplicationRecord1.ShowAuthorizeOption       = false;
            uc3Emp_Request_Empinfo.ShowAuthorizeOption        = false;
            LeaveApplicationCancelRecord1.ShowAuthorizeOption = false;
            // Start 0000060, Miranda, 2014-07-13
            OTClaimRecord1.ShowAuthorizeOption       = false;
            OTClaimCancelRecord1.ShowAuthorizeOption = false;
            // End 0000060, Miranda, 2014-07-13
            // Start 0000112, Miranda, 2014-12-10
            LateWaiveRecord1.ShowAuthorizeOption       = false;
            LateWaiveCancelRecord1.ShowAuthorizeOption = false;
            // End 0000112, Miranda, 2014-12-10
            return(true);
        }
        else
        {
            LeaveApplicationRecord1.Visible       = false;
            uc3Emp_Request_Empinfo.Visible        = false;
            LeaveApplicationCancelRecord1.Visible = false;
            // Start 0000060, Miranda, 2014-07-13
            OTClaimRecord1.Visible       = false;
            OTClaimCancelRecord1.Visible = false;
            // End 0000060, Miranda, 2014-07-13
            // Start 0000112, Miranda, 2014-12-10
            LateWaiveRecord1.Visible       = false;
            LateWaiveCancelRecord1.Visible = false;
            // End 0000112, Miranda, 2014-12-10
            return(false);
        }
    }
    protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView row         = (DataRowView)e.Item.DataItem;
        CheckBox    cb          = (CheckBox)e.Item.FindControl("ItemSelect");
        HtmlAnchor  requestLink = (HtmlAnchor)e.Item.FindControl("requestLink");

        WebFormUtils.LoadKeys(db, row, cb);
        cb.Checked = false;
        cb.Visible = false;

        EEmpRequest obj = new EEmpRequest();

        EEmpRequest.db.toObject(((DataRowView)e.Item.DataItem).Row, obj);

        // resolve Request Type --> Description
        Label lblEmpRequestType = (Label)e.Item.FindControl("EmpRequestType");

        switch (obj.EmpRequestType)
        {
        case EEmpRequest.TYPE_EELEAVEAPP:
            lblEmpRequestType.Text = "Leave Application";
            break;

        case EEmpRequest.TYPE_EELEAVECANCEL:
            lblEmpRequestType.Text = "Leave Application Cancellation";
            break;

        case EEmpRequest.TYPE_EEOTCLAIM:
            lblEmpRequestType.Text = "CL Requisition";
            break;

        case EEmpRequest.TYPE_EEOTCLAIMCANCEL:
            lblEmpRequestType.Text = "CL Requisition Cancel";
            break;

        // Start 0000112, Miranda, 2014-12-10
        case EEmpRequest.TYPE_EELATEWAIVE:
            lblEmpRequestType.Text = "Late Waive";
            break;

        case EEmpRequest.TYPE_EELATEWAIVECANCEL:
            lblEmpRequestType.Text = "Late Waive Cancel";
            break;

        // End 0000112, Miranda, 2014-12-10
        case EEmpRequest.TYPE_EEPROFILE:
            lblEmpRequestType.Text = "Personal Information";
            break;

        default:
            lblEmpRequestType.Text = obj.EmpRequestType;
            break;
        }


        requestLink.HRef = HROne.Common.WebUtility.URLwithEncryptQueryString(Session, "~/ESS_EmpRequestDetail.aspx?TargetEmpID=" + obj.EmpID + "&EmpRequestRecordID=" + obj.EmpRequestRecordID + "&EmpRequestID=" + obj.EmpRequestID);
        //requestLink.InnerText = row["EmpNo"].ToString();
        requestLink.Title = generateToolTipMessage(obj);
        ESSAuthorizationProcess authorization       = new ESSAuthorizationProcess(dbConn);
        ArrayList workFlowDetailList                = authorization.GetAuthorizationWorkFlowDetailList(obj.EmpID, obj.EmpRequestType);
        EAuthorizationWorkFlowDetail workFlowDetail = authorization.GetCurrentWorkFlowDetailObject(workFlowDetailList, obj.EmpRequestLastAuthorizationWorkFlowIndex, CurID);

        if (workFlowDetail != null)
        {
            ArrayList authorizerList = workFlowDetail.GetActualAutorizerObjectList(dbConn, CurID);
            foreach (EAuthorizer authorizer in authorizerList)
            {
                if (!authorizer.AuthorizerIsReadOnly)
                {
                    cb.Visible = true;
                }
            }
        }
    }
    protected string generateToolTipMessage(EEmpRequest empRequest)
    {
        string message = "Employee No:\t%EMP_NO%\r\n" +
                         "Employee:\t%EMP_NAME%\r\n" +
                         "Leave Date:\t%LEAVEAPP_PERIOD%\r\n" +
                         "Leave Type:\t%LEAVE_CODE%\r\n" +
                         "Taken     :\t%LEAVEAPP_DAYS% %LEAVEAPP_UNIT%\r\n" +
                         "Hours Claims:\t%LEAVEAPP_HOURSCLAIM%\r\n" +
                         "Reason:\t%LEAVEAPPCANCEL_REMARK%\r\n";

        ESSAuthorizationProcess process = new ESSAuthorizationProcess(dbConn);

        EEmpPersonalInfo ApplicantEmpInfo = process.GetEmpInfo(empRequest.EmpID);

        Hashtable mailContentParameterTable = new Hashtable();

        mailContentParameterTable = process.GenerateEmpInfoHashTable(ApplicantEmpInfo, mailContentParameterTable);

        if (empRequest.EmpRequestType == EEmpRequest.TYPE_EELEAVEAPP)
        {
            DBFilter RequestEmpFilter = new DBFilter();
            RequestEmpFilter.add(new Match("RequestLeaveAppID", empRequest.EmpRequestRecordID));
            ArrayList empRequestList = ERequestLeaveApplication.db.select(dbConn, RequestEmpFilter);
            if (empRequestList.Count > 0)
            {
                ERequestLeaveApplication empLeaveRequest = (ERequestLeaveApplication)empRequestList[0];

                mailContentParameterTable = process.GenerateRequestLeaveApplicationHashTable(empLeaveRequest, mailContentParameterTable);
            }
        }
        else if (empRequest.EmpRequestType == EEmpRequest.TYPE_EELEAVECANCEL)
        {
            DBFilter RequestEmpFilter = new DBFilter();
            RequestEmpFilter.add(new Match("RequestLeaveAppCancelID", empRequest.EmpRequestRecordID));
            ArrayList empRequestList = ERequestLeaveApplicationCancel.db.select(dbConn, RequestEmpFilter);
            if (empRequestList.Count > 0)
            {
                ERequestLeaveApplicationCancel requestLeaveAppCancel = (ERequestLeaveApplicationCancel)empRequestList[0];
                mailContentParameterTable.Add("%LEAVEAPPCANCEL_REMARK%", requestLeaveAppCancel.RequestLeaveAppCancelReason);
                ELeaveApplication leaveApp = new ELeaveApplication();
                leaveApp.LeaveAppID = requestLeaveAppCancel.LeaveAppID;
                if (ELeaveApplication.db.select(dbConn, leaveApp))
                {
                    ERequestLeaveApplication dummyRequestLeave = ERequestLeaveApplication.CreateDummyRequestLeaveAppliction(leaveApp);
                    mailContentParameterTable = process.GenerateRequestLeaveApplicationHashTable(dummyRequestLeave, mailContentParameterTable);
                }
            }
        }
        string MessageBodyTemplate = message;

        foreach (string key in mailContentParameterTable.Keys)
        {
            MessageBodyTemplate = MessageBodyTemplate.Replace(key, mailContentParameterTable[key].ToString());
        }
        string[] messageBodyLineArray = MessageBodyTemplate.Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
        string   newMessageBody       = string.Empty;

        foreach (string messageLine in messageBodyLineArray)
        {
            if (string.IsNullOrEmpty(messageLine) || messageLine.IndexOf("%") == messageLine.LastIndexOf("%"))
            {
                if (string.IsNullOrEmpty(newMessageBody))
                {
                    newMessageBody = messageLine;
                }
                else
                {
                    newMessageBody += "\r\n" + messageLine;
                }
            }
        }
        return(newMessageBody);
    }
    protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView       row = (DataRowView)e.Item.DataItem;
        ELeaveApplication obj = new ELeaveApplication();

        ELeaveApplication.db.toObject(row.Row, obj);

        Button cancelButton = (Button)e.Item.FindControl("Cancel");

        DBFilter requestLeaveAppCancelFilter = new DBFilter();

        requestLeaveAppCancelFilter.add(new Match("EmpID", CurID));
        requestLeaveAppCancelFilter.add(new Match("LeaveAppID", obj.LeaveAppID));

        DBFilter empRequestFilter = new DBFilter();

        empRequestFilter.add(new Match("EmpID", CurID));
        empRequestFilter.add(new Match("EmpRequestType", EEmpRequest.TYPE_EELEAVECANCEL));
        empRequestFilter.add(new IN("EmpRequestRecordID", "SELECT RequestLeaveAppCancelID FROM " + ERequestLeaveApplicationCancel.db.dbclass.tableName, requestLeaveAppCancelFilter));
        empRequestFilter.add(EEmpRequest.EndStatusDBTerms("EmpRequestStatus", true));

        if (obj.LeaveAppCancelID > 0 || EEmpRequest.db.count(dbConn, empRequestFilter) > 0)
        {
            cancelButton.Visible = false;
        }
        else
        {
            ELeaveCode leaveCode = new ELeaveCode();
            leaveCode.LeaveCodeID = obj.LeaveCodeID;
            if (ELeaveCode.db.select(dbConn, leaveCode))
            {
                if (leaveCode.LeaveCodeHideInESS)
                {
                    cancelButton.Visible = false;
                }
                else
                {
                    //  Temporary set to invisible to add more constraint before launch
                    cancelButton.Visible = isAllowLeaveCancel;
                    cancelButton.Attributes["LeaveAppID"] = obj.LeaveAppID.ToString();
                }
            }
            else
            {
                cancelButton.Visible = false;
            }
        }

        // Start 0000094, Ricky So, 2014-09-09
        Label RequestQty = (Label)e.Item.FindControl("LeaveAppDays");

        string m_unit = ((DataRowView)e.Item.DataItem)["LeaveAppUnit"].ToString();
        double m_appHours;
        double m_appDays;

        Double.TryParse(((DataRowView)e.Item.DataItem)["LeaveAppHours"].ToString(), out m_appHours);
        Double.TryParse(((DataRowView)e.Item.DataItem)["LeaveAppDays"].ToString(), out m_appDays);

        switch (m_unit)
        {
        case "H": RequestQty.Text = m_appHours.ToString("0.000");
            break;

        default: RequestQty.Text = m_appDays.ToString("0.000");
            break;
        }
        // End 0000094, Ricky So, 2014-09-09

        HROne.Common.WebUtility.WebControlsLocalization(Session, e.Item.Controls);
    }