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); } } }
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); }