コード例 #1
0
 public CompensationLeaveBalanceProcess(DatabaseConnection dbConn, int EmpID)
     : base(dbConn, EmpID, 0)
 {
     EntitlePeriodUnit = "Y";
     m_LeaveTypeID     = ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID;
     m_BalanceUnit     = ELeaveBalance.LeaveBalanceUnit.Hour;
 }
コード例 #2
0
    protected bool loadObject()
    {
        obj            = new ELeaveApplication();
        obj.LeaveAppID = CurLeaveAppID;
        if (!ELeaveApplication.db.select(dbConn, obj))
        {
            return(false);
        }

        if (obj.EmpID != UserID)
        {
            return(false);
        }
        Hashtable values = new Hashtable();

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

        if (obj.LeaveAppUnit.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.LeaveCodeID;
        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;
            }
        }
        else
        {
            HoursClaimPanel.Visible = false;
        }



        return(true);
    }
コード例 #3
0
    protected void RefreshLeaveCodeID()
    {
        HoursClaimPanel.Visible = false;
        if (!string.IsNullOrEmpty(LeaveCodeID.SelectedValue))
        {
            int tmpLeaveCodeID = 0;
            if (int.TryParse(LeaveCodeID.SelectedValue, out tmpLeaveCodeID))
            {
                ELeaveCode leaveCode = new ELeaveCode();
                leaveCode.LeaveCodeID = tmpLeaveCodeID;
                if (ELeaveCode.db.select(dbConn, leaveCode))
                {
                    PayrollProcessPanel.Visible = !leaveCode.LeaveCodeIsSkipPayrollProcess;
                    LeaveCodeIsShowMedicalCertOptionPanel.Visible = leaveCode.LeaveCodeIsShowMedicalCertOption;
                    if (!leaveCode.LeaveCodeIsSkipPayrollProcess)
                    {
                        ELeaveApplication leaveApp = new ELeaveApplication();
                        leaveApp.LeaveAppID = CurID;
                        if (ELeaveApplication.db.select(dbConn, leaveApp))
                        {
                            ELeaveCode prevLeaveCode = new ELeaveCode();
                            prevLeaveCode.LeaveCodeID = leaveApp.LeaveCodeID;
                            if (ELeaveCode.db.select(dbConn, prevLeaveCode))
                            {
                                if (prevLeaveCode.LeaveCodeIsSkipPayrollProcess)
                                {
                                    LeaveAppNoPayProcess.Checked = false;
                                }
                            }
                        }
                    }

                    if (leaveCode.LeaveTypeID.Equals(ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID))
                    {
                        HoursClaimPanel.Visible = true;
                    }
                    else
                    {
                        HoursClaimPanel.Visible = false;
                    }
                }
            }
        }
        if (HoursClaimPanel.Visible)
        {
            LeaveAppDays.AutoPostBack = true;
            LeaveAppDays.TextChanged += new EventHandler(LeaveAppDays_TextChanged);
        }
        else
        {
            LeaveAppDays.AutoPostBack = false;
            LeaveAppDays.TextChanged -= new EventHandler(LeaveAppDays_TextChanged);
        }
    }
コード例 #4
0
    protected bool loadObject()
    {
        obj = new ELeaveApplication();
        bool isNew = WebFormWorkers.loadKeys(db, obj, DecryptedRequest);

        DBFilter filter = new DBFilter();

        filter.add(new Match("EmpID", CurEmpID));
        filter.add(WebUtils.AddRankFilter(Session, "EmpID", true));
        if (EEmpPersonalInfo.db.count(dbConn, filter) == 0)
        {
            if (CurEmpID <= 0)
            {
                return(false);
            }
            else
            {
                HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/AccessDeny.aspx");
            }
        }

        if (!db.select(dbConn, obj))
        {
            if (CurID <= 0)
            {
                return(false);
            }
            else
            {
                HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/AccessDeny.aspx");
            }
        }

        if (obj.EmpID != CurEmpID)
        {
            if (CurID <= 0)
            {
                return(false);
            }
            else
            {
                HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/AccessDeny.aspx");
            }
        }

        Hashtable values = new Hashtable();

        db.populate(obj, values);

        //int empPayrollID = int.Parse((string)values["EmpPayrollID"]);
        if (obj.EmpPayrollID > 0)
        {
            EEmpPayroll empPayroll = new EEmpPayroll();
            empPayroll.EmpPayrollID = obj.EmpPayrollID;
            if (EEmpPayroll.db.select(dbConn, empPayroll))
            {
                values.Add("PayPeriodID", empPayroll.PayPeriodID.ToString());
            }
        }

        binding.toControl(values);
        if (obj.LeaveAppUnit.Equals("D"))
        {
            TimeRow.Visible = false;
            LeaveAppDateToPlaceHolder.Visible = true;
        }
        else
        {
            TimeRow.Visible = true;
            LeaveAppDateToPlaceHolder.Visible = false;
        }
        if (obj.EmpPaymentID != 0 || obj.EmpPayrollID != 0)
        {
            toolBar.EditButton_Visible    = false;
            toolBar.DeleteButton_Visible  = false;
            toolBar.CustomButton1_Visible = true;
            toolBar.CustomButton2_Visible = true;
        }
        else
        {
            toolBar.EditButton_Visible    = true;
            toolBar.DeleteButton_Visible  = true;
            toolBar.CustomButton1_Visible = false;
            toolBar.CustomButton2_Visible = false;
        }

        if (obj.LeaveAppCancelID > 0)
        {
            toolBar.EditButton_Visible    = false;
            toolBar.DeleteButton_Visible  = false;
            toolBar.CustomButton1_Visible = false;
            toolBar.CustomButton2_Visible = false;
        }

        ELeaveCode leaveCode = new ELeaveCode();

        leaveCode.LeaveCodeID = obj.LeaveCodeID;
        if (ELeaveCode.db.select(dbConn, leaveCode))
        {
            PayrollProcessPanel.Visible = !leaveCode.LeaveCodeIsSkipPayrollProcess;
            LeaveCodeIsShowMedicalCertOptionPanel.Visible = leaveCode.LeaveCodeIsShowMedicalCertOption;
            //if (!leaveCode.LeaveCodeIsSkipPayrollProcess)
            //{
            //    ELeaveApplication leaveApp = new ELeaveApplication();
            //    leaveApp.LeaveAppID = CurID;
            //    if (ELeaveApplication.db.select(dbConn, leaveApp))
            //    {
            //        ELeaveCode prevLeaveCode = new ELeaveCode();
            //        prevLeaveCode.LeaveCodeID = leaveApp.LeaveCodeID;
            //        if (ELeaveCode.db.select(dbConn, prevLeaveCode))
            //            if (prevLeaveCode.LeaveCodeIsSkipPayrollProcess)
            //                LeaveAppNoPayProcess.Checked = false;
            //    }
            //}

            if (leaveCode.LeaveTypeID.Equals(ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID))
            {
                HoursClaimPanel.Visible = true;
            }
            else
            {
                HoursClaimPanel.Visible = false;
            }
        }
        else
        {
            HoursClaimPanel.Visible = false;
        }
        CurEmpID = obj.EmpID;
        return(true);
    }
コード例 #5
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);
        }
    }
コード例 #6
0
    protected void Save_Click(object sender, EventArgs e)
    {
        ECompensationLeaveEntitle c = new ECompensationLeaveEntitle();

        if (string.IsNullOrEmpty(CompensationLeaveEntitleClaimPeriodTo.Value))
        {
            CompensationLeaveEntitleClaimPeriodTo.Value = CompensationLeaveEntitleClaimPeriodFrom.Value;
        }

        Hashtable values = new Hashtable();

        binding.toValues(values);

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

        errors.clear();


        db.validate(errors, values);

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


        db.parse(values, c);



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

        ELeaveType compensationLeaveType = ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn);

        WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID);
        LeaveBalanceCalc leaaveBalCal = new LeaveBalanceCalc(dbConn, c.EmpID);

        if (CurID < 0)
        {
//            Utils.MarkCreate(Session, c);

            db.insert(dbConn, c);
            CurID = c.CompensationLeaveEntitleID;
            //if (compensationLeaveType != null)
            //    leaaveBalCal.RecalculateAfter(c.CompensationLeaveEntitleEffectiveDate, compensationLeaveType.LeaveTypeID);
            //else
            //    leaaveBalCal.RecalculateAfter(c.CompensationLeaveEntitleEffectiveDate);

//            url = Utils.BuildURL(-1, CurID);
        }
        else
        {
//            Utils.Mark(Session, c);
            //ECompensationLeaveEntitle leaveBalApp = new ECompensationLeaveEntitle();
            //leaveBalApp.CompensationLeaveEntitleID = CurID;
            //db.select(dbConn, leaveBalApp);
            db.update(dbConn, c);
            //if (compensationLeaveType != null)
            //    leaaveBalCal.RecalculateAfter(leaveBalApp.CompensationLeaveEntitleEffectiveDate < c.CompensationLeaveEntitleEffectiveDate ? leaveBalApp.CompensationLeaveEntitleEffectiveDate : c.CompensationLeaveEntitleEffectiveDate, compensationLeaveType.LeaveTypeID);
            //else
            //    leaaveBalCal.RecalculateAfter(leaveBalApp.CompensationLeaveEntitleEffectiveDate < c.CompensationLeaveEntitleEffectiveDate ? leaveBalApp.CompensationLeaveEntitleEffectiveDate : c.CompensationLeaveEntitleEffectiveDate);
        }
        WebUtils.EndFunction(dbConn);


        HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Emp_CompensationLeaveEntitle_View.aspx?EmpID=" + c.EmpID + "&CompensationLeaveEntitleID=" + CurID);
    }