コード例 #1
0
    protected void LeaveCodeOverrideRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataRowView row = (DataRowView)e.Item.DataItem;

            Label LeaveCodeID = (Label)e.Item.FindControl("LeaveCodeID");
            Label PayrollGroupLeaveCodeSetupLeaveDeductFormula       = (Label)e.Item.FindControl("PayrollGroupLeaveCodeSetupLeaveDeductFormula");
            Label PayrollGroupLeaveCodeSetupLeaveDeductPaymentCodeID = (Label)e.Item.FindControl("PayrollGroupLeaveCodeSetupLeaveDeductPaymentCodeID");
            Label PayrollGroupLeaveCodeSetupLeaveAllowFormula        = (Label)e.Item.FindControl("PayrollGroupLeaveCodeSetupLeaveAllowFormula");
            Label PayrollGroupLeaveCodeSetupLeaveAllowPaymentCodeID  = (Label)e.Item.FindControl("PayrollGroupLeaveCodeSetupLeaveAllowPaymentCodeID");
            WebFormUtils.LoadKeys(ELeaveCode.db, row, LeaveCodeID);

            Binding ebinding = new Binding(dbConn, EPayrollGroupLeaveCodeSetupOverride.db);
            ebinding.add(new LabelVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, LeaveCodeID, ELeaveCode.VLLeaveCode));
            ebinding.add(new BlankZeroLabelVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, PayrollGroupLeaveCodeSetupLeaveDeductFormula, EPayrollProrataFormula.VLPayrollProrataFormula));
            ebinding.add(new BlankZeroLabelVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, PayrollGroupLeaveCodeSetupLeaveDeductPaymentCodeID, EPaymentCode.VLPaymentCode));
            ebinding.add(new BlankZeroLabelVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, PayrollGroupLeaveCodeSetupLeaveAllowFormula, EPayrollProrataFormula.VLPayrollProrataFormula));
            ebinding.add(new BlankZeroLabelVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, PayrollGroupLeaveCodeSetupLeaveAllowPaymentCodeID, EPaymentCode.VLPaymentCode));
            ebinding.init(Request, Session);

            ELeaveCode leaveCode = new ELeaveCode();
            ELeaveCode.db.toObject(row.Row, leaveCode);
            //LeaveCodeID.Text = string.Format("{0}-{1}", new string[] { leaveCode.LeaveCode, leaveCode.LeaveCodeDesc });

            DBFilter payrollGroupLeaveCodeSetupOverrideFilter = new DBFilter();
            payrollGroupLeaveCodeSetupOverrideFilter.add(new Match("PayGroupID", CurID));
            payrollGroupLeaveCodeSetupOverrideFilter.add(new Match("LeaveCodeID", leaveCode.LeaveCodeID));
            ArrayList overrideList = EPayrollGroupLeaveCodeSetupOverride.db.select(dbConn, payrollGroupLeaveCodeSetupOverrideFilter);
            if (overrideList.Count > 0)
            {
                EPayrollGroupLeaveCodeSetupOverride setupOverride = (EPayrollGroupLeaveCodeSetupOverride)overrideList[0];
                Hashtable hashTable = new Hashtable();
                EPayrollGroupLeaveCodeSetupOverride.db.populate(setupOverride, hashTable);
                ebinding.toControl(hashTable);
            }
        }
    }
コード例 #2
0
    protected void Save_Click(object sender, EventArgs e)
    {
        EPayrollGroup c = new EPayrollGroup();

        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 (CurID < 0)
        {
            c.PayGroupIsPublic = true;  // new payroll group is default to public
        }
        if (!c.PayGroupIsSkipStatHol)
        {
            if (c.PayGroupStatHolAllowFormula <= 0)
            {
                errors.addError(lblPayGroupStatHolAllowFormula.Text, HROne.Common.WebUtility.GetLocalizedString("validate.required.prompt"));
            }
            if (c.PayGroupStatHolAllowPaymentCodeID <= 0)
            {
                errors.addError(lblPayGroupStatHolAllowPaymentCodeID.Text, HROne.Common.WebUtility.GetLocalizedString("validate.required.prompt"));
            }
            if (c.PayGroupStatHolDeductFormula <= 0)
            {
                errors.addError(lblPayGroupStatHolDeductFormula.Text, HROne.Common.WebUtility.GetLocalizedString("validate.required.prompt"));
            }
            if (c.PayGroupStatHolDeductPaymentCodeID <= 0)
            {
                errors.addError(lblPayGroupStatHolDeductPaymentCodeID.Text, HROne.Common.WebUtility.GetLocalizedString("validate.required.prompt"));
            }
        }
        c.PayGroupCode = c.PayGroupCode.ToUpper();
        if (!AppUtils.checkDuplicate(dbConn, db, c, errors, "PayGroupCode"))
        {
            return;
        }

        if (c.PayGroupNextEndDate < c.PayGroupNextStartDate)
        {
            errors.addError(lblPayGroupNextEndDate.Text, HROne.Translation.PageErrorMessage.ERROR_DATE_TO_TOO_EARLY);
        }
        if (c.PayGroupDefaultStartDay > 31 || c.PayGroupDefaultStartDay < 1)
        {
            errors.addError(lblPayGroupDefaultStartDay.Text, HROne.Translation.PageErrorMessage.ERROR_INVALID_START_DATE);
        }
        if (c.PayGroupLeaveDefaultCutOffDay > 31 || c.PayGroupLeaveDefaultCutOffDay < 1)
        {
            errors.addError(lblPayGroupLeaveDefaultCutOffDay.Text, HROne.Translation.PageErrorMessage.ERROR_INVALID_END_DATE);
        }

        if (c.PayGroupFreq.Equals("S", StringComparison.CurrentCultureIgnoreCase))
        {
            if (c.PayGroupDefaultNextStartDay > 31 || c.PayGroupDefaultNextStartDay < 1)
            {
                errors.addError(lblPayGroupDefaultNextStartDay.Text, HROne.Translation.PageErrorMessage.ERROR_INVALID_START_DATE);
            }
            if (c.PayGroupLeaveDefaultNextCutOffDay > 31 || c.PayGroupLeaveDefaultNextCutOffDay < 1)
            {
                errors.addError(lblPayGroupLeaveDefaultNextCutOffDay.Text, HROne.Translation.PageErrorMessage.ERROR_INVALID_END_DATE);
            }
        }

        if (c.PayGroupNextStartDate >= c.PayGroupNextEndDate)
        {
            errors.addError("PayGroupNextStartDate", HROne.Translation.PageErrorMessage.ERROR_INCORRECT_DATE_RANGE + ": " + lblPayGroupNextEndDate.Text);
        }
        else if (((TimeSpan)c.PayGroupNextEndDate.Subtract(c.PayGroupNextStartDate)).TotalDays > 31)
        {
            errors.addError("PayGroupNextStartDate", HROne.Translation.PageErrorMessage.ERROR_INCORRECT_DATE_RANGE + ": " + lblPayGroupNextEndDate.Text);
        }


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

//        WebUtils.StartFunction(Session, Functions.FUNC_EMP_EDIT , 0);
        WebUtils.StartFunction(Session, FUNCTION_CODE);
        if (CurID < 0)
        {
            //            Utils.MarkCreate(Session, c);

            db.insert(dbConn, c);
            CurID = c.PayGroupID;
            //            url = Utils.BuildURL(-1, CurID);
        }
        else
        {
            //            Utils.Mark(Session, c);
            db.update(dbConn, c);
        }
//        WebUtils.StartFunction(Session, Functions.FUNC_EMP_EDIT, 0);

        db.select(dbConn, c);
        if (c.CurrentPayPeriodID == 0)
        {
            HROne.Payroll.PayrollProcess payrollProcess = new HROne.Payroll.PayrollProcess(dbConn);
            payrollProcess.GenerateNextPayrollPeriod(c.PayGroupID);
        }

        foreach (RepeaterItem item in LeaveCodeOverrideRepeater.Items)
        {
            Label        LeaveCodeID = (Label)item.FindControl("LeaveCodeID");
            DropDownList PayrollGroupLeaveCodeSetupLeaveDeductFormula       = (DropDownList)item.FindControl("PayrollGroupLeaveCodeSetupLeaveDeductFormula");
            DropDownList PayrollGroupLeaveCodeSetupLeaveDeductPaymentCodeID = (DropDownList)item.FindControl("PayrollGroupLeaveCodeSetupLeaveDeductPaymentCodeID");
            DropDownList PayrollGroupLeaveCodeSetupLeaveAllowFormula        = (DropDownList)item.FindControl("PayrollGroupLeaveCodeSetupLeaveAllowFormula");
            DropDownList PayrollGroupLeaveCodeSetupLeaveAllowPaymentCodeID  = (DropDownList)item.FindControl("PayrollGroupLeaveCodeSetupLeaveAllowPaymentCodeID");

            ELeaveCode o = new ELeaveCode();
            WebFormUtils.GetKeys(ELeaveCode.db, o, LeaveCodeID);

            Binding ebinding = new Binding(dbConn, EPayrollGroupLeaveCodeSetupOverride.db);
            ebinding.add(new DropDownVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, PayrollGroupLeaveCodeSetupLeaveDeductFormula, EPayrollProrataFormula.VLPayrollProrataFormula));
            ebinding.add(new DropDownVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, PayrollGroupLeaveCodeSetupLeaveDeductPaymentCodeID, EPaymentCode.VLPaymentCode));
            ebinding.add(new DropDownVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, PayrollGroupLeaveCodeSetupLeaveAllowFormula, EPayrollProrataFormula.VLPayrollProrataFormula));
            ebinding.add(new DropDownVLBinder(EPayrollGroupLeaveCodeSetupOverride.db, PayrollGroupLeaveCodeSetupLeaveAllowPaymentCodeID, EPaymentCode.VLPaymentCode));

            Hashtable hashTable = new Hashtable();
            ebinding.toValues(hashTable);
            EPayrollGroupLeaveCodeSetupOverride setupOverride = new EPayrollGroupLeaveCodeSetupOverride();
            EPayrollGroupLeaveCodeSetupOverride.db.parse(hashTable, setupOverride);
            setupOverride.PayGroupID  = c.PayGroupID;
            setupOverride.LeaveCodeID = o.LeaveCodeID;
            if (setupOverride.PayrollGroupLeaveCodeSetupLeaveAllowFormula <= 0 &&
                setupOverride.PayrollGroupLeaveCodeSetupLeaveAllowPaymentCodeID <= 0 &&
                setupOverride.PayrollGroupLeaveCodeSetupLeaveDeductFormula <= 0 &&
                setupOverride.PayrollGroupLeaveCodeSetupLeaveDeductPaymentCodeID <= 0)
            {
                DBFilter setupOverrideFilter = new DBFilter();
                setupOverrideFilter.add(new Match("LeaveCodeID", setupOverride.LeaveCodeID));
                setupOverrideFilter.add(new Match("PayGroupID", setupOverride.PayGroupID));
                ArrayList setupOverrideList = EPayrollGroupLeaveCodeSetupOverride.db.select(dbConn, setupOverrideFilter);
                foreach (EPayrollGroupLeaveCodeSetupOverride deletedSetupOverride in setupOverrideList)
                {
                    EPayrollGroupLeaveCodeSetupOverride.db.delete(dbConn, deletedSetupOverride);
                }
            }
            else
            {
                DBFilter setupOverrideFilter = new DBFilter();
                setupOverrideFilter.add(new Match("LeaveCodeID", setupOverride.LeaveCodeID));
                setupOverrideFilter.add(new Match("PayGroupID", setupOverride.PayGroupID));
                ArrayList setupOverrideList = EPayrollGroupLeaveCodeSetupOverride.db.select(dbConn, setupOverrideFilter);
                if (setupOverrideList.Count > 0)
                {
                    setupOverride.PayrollGroupLeaveCodeSetupOverrideID = ((EPayrollGroupLeaveCodeSetupOverride)setupOverrideList[0]).PayrollGroupLeaveCodeSetupOverrideID;
                    EPayrollGroupLeaveCodeSetupOverride.db.update(dbConn, setupOverride);
                }
                else
                {
                    EPayrollGroupLeaveCodeSetupOverride.db.insert(dbConn, setupOverride);
                }
            }
        }
        WebUtils.EndFunction(dbConn);

//        Response.Redirect(Request.Url.LocalPath + "?PayGroupID=" + CurID);
        HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Payroll_Group_View.aspx?PayGroupID=" + CurID);
    }