protected void Delete_Click(object sender, EventArgs e) { ArrayList list = new ArrayList(); foreach (DataListItem item in Repeater.Items) { CheckBox c = (CheckBox)item.FindControl("DeleteItem"); HtmlInputHidden h = (HtmlInputHidden)item.FindControl("ORSORecordID"); if (c.Checked) { EORSORecord obj = new EORSORecord(); obj.ORSORecordID = Int32.Parse(h.Value); list.Add(obj); } } EEmpPayroll empPayroll = new EEmpPayroll(); empPayroll.EmpPayrollID = int.Parse(EmpPayrollID.Value); if (EEmpPayroll.db.select(dbConn, empPayroll)) { WebUtils.StartFunction(Session, m_FunctionCode, empPayroll.EmpID); foreach (EORSORecord obj in list) { if (db.select(dbConn, obj)) { db.delete(dbConn, obj); } } WebUtils.EndFunction(dbConn); } view = loadData(info, db, Repeater); }
private void LoadExistingMemberRowInfo(EEmpPersonalInfo empInfo, EORSORecord mpfRecord, DataSet.Payroll_ORSOStatement.ExistingMemberRow existingORSORow) { existingORSORow.EmpID = empInfo.EmpID; existingORSORow.EmpNo = empInfo.EmpNo; existingORSORow.HKID = empInfo.EmpHKID.Length < 7 ? empInfo.EmpPassportNo : empInfo.EmpHKID; existingORSORow.EmpName = empInfo.EmpEngFullName; existingORSORow.PeriodFrom = mpfRecord.ORSORecPeriodFr; existingORSORow.PeriodTo = mpfRecord.ORSORecPeriodTo; existingORSORow.ORSOPlanID = mpfRecord.ORSOPlanID; existingORSORow.RelevantIncome = 0; existingORSORow.EE = 0; existingORSORow.EE = 0; existingORSORow.ER = 0; existingORSORow.ER = 0; DBFilter empTerminationFilter = new DBFilter(); empTerminationFilter.add(new Match("EmpID", empInfo.EmpID)); empTerminationFilter.add(new Match("EmpTermLastDate", "<=", mpfRecord.ORSORecPeriodTo)); empTerminationFilter.add(new Match("EmpTermLastDate", ">=", mpfRecord.ORSORecPeriodFr)); ArrayList empTerminations = EEmpTermination.db.select(dbConn, empTerminationFilter); if (empTerminations.Count > 0) { EEmpTermination empTermination = (EEmpTermination)empTerminations[0]; existingORSORow.LastEmploymentDate = empTermination.EmpTermLastDate; ECessationReason cessationReason = new ECessationReason(); cessationReason.CessationReasonID = empTermination.CessationReasonID; ECessationReason.db.select(dbConn, cessationReason); existingORSORow.TermCode = cessationReason.CessationReasonCode; } }
protected void Add_Click(object sender, EventArgs e) { Repeater.EditItemIndex = -1; EORSORecord c = new EORSORecord(); Hashtable values = new Hashtable(); newBinding.toValues(values); PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); db.validate(errors, values); if (!errors.isEmpty()) { return; } db.parse(values, c); c.ORSORecType = "A"; EEmpPayroll empPayroll = new EEmpPayroll(); empPayroll.EmpPayrollID = c.EmpPayrollID; if (EEmpPayroll.db.select(dbConn, empPayroll)) { EPayrollPeriod payPeriod = new EPayrollPeriod(); payPeriod.PayPeriodID = empPayroll.PayPeriodID; if (EPayrollPeriod.db.select(dbConn, payPeriod)) { if (c.ORSORecPeriodFr <= payPeriod.PayPeriodTo && c.ORSORecPeriodTo <= payPeriod.PayPeriodTo) { WebUtils.StartFunction(Session, m_FunctionCode, empPayroll.EmpID); db.insert(dbConn, c); WebUtils.EndFunction(dbConn); } else { errors.addError(HROne.Translation.PageErrorMessage.ERROR_INVALID_PERIOD); return; } } } ORSORecPeriodFr.TextBox.Text = string.Empty; ORSORecPeriodTo.TextBox.Text = string.Empty; ORSORecActRI.Text = string.Empty; ORSORecActER.Text = string.Empty; ORSORecActEE.Text = string.Empty; ORSOPlanID.SelectedIndex = 0; view = loadData(info, db, Repeater); //Response.Redirect(Request.Url.LocalPath + "?" + Request.QueryString); }
protected void Repeater_ItemDataBound(object sender, DataListItemEventArgs e) { EORSORecord obj = new EORSORecord(); db.toObject(((DataRowView)e.Item.DataItem).Row, obj); Hashtable values = new Hashtable(); db.populate(obj, values); dblTotalORSORI += obj.ORSORecActRI; dblTotalORSOER += obj.ORSORecActER; dblTotalORSOEE += obj.ORSORecActEE; if (e.Item.ItemIndex == Repeater.EditItemIndex) { Binding eORSOBinding; eORSOBinding = new Binding(dbConn, db); eORSOBinding.add((HtmlInputHidden)e.Item.FindControl("ORSORecordID")); eORSOBinding.add(new TextBoxBinder(db, ((WebDatePicker)e.Item.FindControl("ORSORecPeriodFr")).TextBox, "ORSORecPeriodFr")); eORSOBinding.add(new TextBoxBinder(db, ((WebDatePicker)e.Item.FindControl("ORSORecPeriodTo")).TextBox, "ORSORecPeriodTo")); eORSOBinding.add((TextBox)e.Item.FindControl("ORSORecActRI")); eORSOBinding.add((TextBox)e.Item.FindControl("ORSORecActER")); eORSOBinding.add((TextBox)e.Item.FindControl("ORSORecActEE")); eORSOBinding.add(new DropDownVLBinder(db, (DropDownList)e.Item.FindControl("ORSOPlanID"), EORSOPlan.VLORSOPlan)); eORSOBinding.init(Request, Session); eORSOBinding.toControl(values); } else { if (EmpPayStatus.Value == "C" && obj.ORSORecType != "A") { e.Item.FindControl("Edit").Visible = false; e.Item.FindControl("DeleteItem").Visible = false; } else if (obj.ORSORecType != "A") { e.Item.FindControl("Edit").Visible = true & IsAllowEdit; e.Item.FindControl("DeleteItem").Visible = true; } else { e.Item.FindControl("Edit").Visible = true & IsAllowEdit; e.Item.FindControl("DeleteItem").Visible = true & IsAllowEdit; } HtmlInputHidden h = (HtmlInputHidden)e.Item.FindControl("ORSORecordID"); h.Value = ((DataRowView)e.Item.DataItem)["ORSORecordID"].ToString(); } HROne.Common.WebUtility.WebControlsLocalization(Session, e.Item.Controls); }
protected void Repeater_ItemCommand(object source, DataListCommandEventArgs e) { Button b = (Button)e.CommandSource; if (b.ID.Equals("Edit")) { Repeater.EditItemIndex = e.Item.ItemIndex; //AddPanel.Visible = false; view = loadData(info, db, Repeater); WebUtils.SetEnabledControlSection(AddPanel, false); } else if (b.ID.Equals("Cancel")) { Repeater.EditItemIndex = -1; //AddPanel.Visible = IsAllowEdit; view = loadData(info, db, Repeater); WebUtils.SetEnabledControlSection(AddPanel, true); } else if (b.ID.Equals("Save")) { Binding eBinding; eBinding = new Binding(dbConn, db); eBinding.add(EmpPayrollID); eBinding.add((HtmlInputHidden)e.Item.FindControl("ORSORecordID")); eBinding.add(new TextBoxBinder(db, ((WebDatePicker)e.Item.FindControl("ORSORecPeriodFr")).TextBox, "ORSORecPeriodFr")); eBinding.add(new TextBoxBinder(db, ((WebDatePicker)e.Item.FindControl("ORSORecPeriodTo")).TextBox, "ORSORecPeriodTo")); eBinding.add((TextBox)e.Item.FindControl("ORSORecActRI")); eBinding.add((TextBox)e.Item.FindControl("ORSORecActER")); eBinding.add((TextBox)e.Item.FindControl("ORSORecActEE")); eBinding.add(new DropDownVLBinder(db, (DropDownList)e.Item.FindControl("ORSOPlanID"), EORSOPlan.VLORSOPlan)); eBinding.init(Request, Session); EORSORecord obj = new EORSORecord(); Hashtable values = new Hashtable(); PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); eBinding.toValues(values); db.validate(errors, values); if (!errors.isEmpty()) { return; } db.parse(values, obj); EEmpPayroll empPayroll = new EEmpPayroll(); empPayroll.EmpPayrollID = obj.EmpPayrollID; if (EEmpPayroll.db.select(dbConn, empPayroll)) { EPayrollPeriod payPeriod = new EPayrollPeriod(); payPeriod.PayPeriodID = empPayroll.PayPeriodID; if (EPayrollPeriod.db.select(dbConn, payPeriod)) { if (obj.ORSORecPeriodFr <= payPeriod.PayPeriodTo && obj.ORSORecPeriodTo <= payPeriod.PayPeriodTo) { WebUtils.StartFunction(Session, m_FunctionCode, empPayroll.EmpID); db.update(dbConn, obj); WebUtils.EndFunction(dbConn); } else { errors.addError(HROne.Translation.PageErrorMessage.ERROR_INVALID_PERIOD); return; } } } Repeater.EditItemIndex = -1; //AddPanel.Visible = IsAllowEdit; view = loadData(info, db, Repeater); WebUtils.SetEnabledControlSection(AddPanel, true); } }
private void LoadExistingMemberRowInfo(EEmpPersonalInfo empInfo, EORSORecord mpfRecord, DataSet.Payroll_KTPFundStatement.ExistingMemberRow existingORSORow) { existingORSORow.EmpID = empInfo.EmpID; existingORSORow.EmpNo = empInfo.EmpNo; existingORSORow.MemberID = ""; //existingORSORow.HKID = empInfo.EmpHKID.Length < 7 ? empInfo.EmpPassportNo : empInfo.EmpHKID; existingORSORow.EmpName = empInfo.EmpEngFullName; existingORSORow.EmpSex = empInfo.EmpGender; existingORSORow.EmpDOB = empInfo.EmpDateOfBirth; existingORSORow.EmpDateJoin = empInfo.EmpDateOfJoin; existingORSORow.PeriodFrom = mpfRecord.ORSORecPeriodFr; existingORSORow.PeriodTo = mpfRecord.ORSORecPeriodTo; existingORSORow.ORSOPlanID = mpfRecord.ORSOPlanID; existingORSORow.RelevantIncome = 0; existingORSORow.EE = 0; existingORSORow.EE = 0; existingORSORow.ER = 0; existingORSORow.ER = 0; existingORSORow.MpfMCEE = 0; existingORSORow.MpfMCER = 0; existingORSORow.MpfVCEE = 0; existingORSORow.MpfVCER = 0; existingORSORow.TermCode = ""; DBFilter empTerminationFilter = new DBFilter(); empTerminationFilter.add(new Match("EmpID", empInfo.EmpID)); empTerminationFilter.add(new Match("EmpTermLastDate", "<=", mpfRecord.ORSORecPeriodTo)); empTerminationFilter.add(new Match("EmpTermLastDate", ">=", mpfRecord.ORSORecPeriodFr)); ArrayList empTerminations = EEmpTermination.db.select(dbConn, empTerminationFilter); if (empTerminations.Count > 0) { EEmpTermination empTermination = (EEmpTermination)empTerminations[0]; existingORSORow.LastEmploymentDate = empTermination.EmpTermLastDate; ECessationReason cessationReason = new ECessationReason(); cessationReason.CessationReasonID = empTermination.CessationReasonID; ECessationReason.db.select(dbConn, cessationReason); existingORSORow.TermCode = cessationReason.CessationReasonCode; } // get member ID DBFilter m_empFieldFilter = new DBFilter(); m_empFieldFilter.add(new Match("EmpExtraFieldName", "P-Fund Member ID")); int m_extraFieldID = 0; ArrayList m_fieldList = EEmpExtraField.db.select(dbConn, m_empFieldFilter); if (m_fieldList.Count > 0) { m_extraFieldID = ((EEmpExtraField)m_fieldList[0]).EmpExtraFieldID; } if (m_extraFieldID > 0) { DBFilter m_empFieldValueFilter = new DBFilter(); m_empFieldValueFilter.add(new Match("EmpID", empInfo.EmpID)); m_empFieldValueFilter.add(new Match("EmpExtraFieldID", m_extraFieldID)); ArrayList m_fieldValueList = EEmpExtraFieldValue.db.select(dbConn, m_empFieldValueFilter); if (m_fieldValueList.Count > 0) { existingORSORow.MemberID = ((EEmpExtraFieldValue)m_fieldValueList[0]).EmpExtraFieldValue; } } // get P-Fund effective date (i.e. 1st contribution date) DBFilter m_empOrsoPlanFilter = new DBFilter(); m_empOrsoPlanFilter.add(new Match("EmpID", empInfo.EmpID)); m_empOrsoPlanFilter.add("EmpORSOEffFr", true); ArrayList m_orsoPlanList = EEmpORSOPlan.db.select(dbConn, m_empOrsoPlanFilter); if (m_orsoPlanList.Count > 0) { existingORSORow.OrsoEffDate = ((EEmpORSOPlan)m_orsoPlanList[0]).EmpORSOEffFr; } }
//private static double CalculateProrataFactor(int EmpID, EPayrollPeriod payrollPeriod) //{ // EEmpPersonalInfo oEmp = new EEmpPersonalInfo(); // oEmp.EmpID = EmpID; // EEmpPersonalInfo.db.select(dbConn, oEmp); // DateTime dt1AgeMin = oEmp.EmpDateOfBirth.AddYears(AGE_MINIMUM); // DateTime dt1AgeMax = oEmp.EmpDateOfBirth.AddYears(AGE_MAXIMUM); // EEmpTermination empTermination = EEmpTermination.GetObjectByEmpID(dbConn, EmpID); // bool blnTerminated; // if (empTermination != null) // { // if (empTermination.EmpTermLastDate <= payrollPeriod.PayPeriodTo && empTermination.EmpTermLastDate >= payrollPeriod.PayPeriodFr) // blnTerminated = true; // else // blnTerminated = false; // } // else // blnTerminated = false; // double prorataFactor = 1; // if (oEmp.EmpDateOfJoin < dt1AgeMin) // { // if (dt1AgeMin <= payrollPeriod.PayPeriodTo && dt1AgeMin >= payrollPeriod.PayPeriodFr) // { // if (blnTerminated) // prorataFactor = (double)(empTermination.EmpTermLastDate.Subtract(dt1AgeMin).Days + 1) / (empTermination.EmpTermLastDate.Subtract(payrollPeriod.PayPeriodFr > oEmp.EmpDateOfJoin ? payrollPeriod.PayPeriodFr : oEmp.EmpDateOfJoin).Days + 1); // else // prorataFactor = (double)(payrollPeriod.PayPeriodTo.Subtract(dt1AgeMin).Days + 1) / (payrollPeriod.PayPeriodTo.Subtract(payrollPeriod.PayPeriodFr > oEmp.EmpDateOfJoin ? payrollPeriod.PayPeriodFr : oEmp.EmpDateOfJoin).Days + 1); // } // if (dt1AgeMin >= payrollPeriod.PayPeriodTo) // prorataFactor = 0; // } // if (dt1AgeMax <= payrollPeriod.PayPeriodTo && dt1AgeMax >= payrollPeriod.PayPeriodFr) // { // if (blnTerminated) // { // if (empTermination.EmpTermLastDate < dt1AgeMax) // prorataFactor = 1; // else // prorataFactor = 1.0 - (double)(empTermination.EmpTermLastDate.Subtract(dt1AgeMax).Days + 1) / (empTermination.EmpTermLastDate.Subtract(payrollPeriod.PayPeriodFr > oEmp.EmpDateOfJoin ? payrollPeriod.PayPeriodFr : oEmp.EmpDateOfJoin).Days + 1); // } // else // prorataFactor = 1.0 - (double)(payrollPeriod.PayPeriodTo.Subtract(dt1AgeMax).Days + 1) / (payrollPeriod.PayPeriodTo.Subtract(payrollPeriod.PayPeriodFr > oEmp.EmpDateOfJoin ? payrollPeriod.PayPeriodFr : oEmp.EmpDateOfJoin).Days + 1); // } // if (dt1AgeMax <= payrollPeriod.PayPeriodFr) // prorataFactor = 0; // return prorataFactor; //} private static EORSORecord CreateORSORecord(DatabaseConnection dbConn, int EmpID, EPayrollPeriod payrollPeriod, ArrayList paymentRecords, DateTime ORSOJoinDate, ORSOJoinType ORSOJoinType, EMPFRecord mpfRecord) { //double RIProrateFactor = CalculateProrataFactor(EmpID, payrollPeriod); EORSORecord orsoRecord = new EORSORecord(); switch (ORSOJoinType) { case ORSOJoinType.NewJoin: orsoRecord.ORSORecType = "N"; break; case ORSOJoinType.Existing: orsoRecord.ORSORecType = "E"; break; //case ORSOJoinType.Terminated: // ORSORecord.ORSORecType = "T"; //break; } orsoRecord.ORSORecCalRI = 0; orsoRecord.ORSOPlanID = GetORSOPlanID(dbConn, EmpID, payrollPeriod.PayPeriodTo); if (orsoRecord.ORSOPlanID > 0) { EEmpPersonalInfo oEmp = new EEmpPersonalInfo(); oEmp.EmpID = EmpID; EEmpPersonalInfo.db.select(dbConn, oEmp); //DateTime dt1Age18 = oEmp.EmpDateOfBirth.AddYears(18); //DateTime dt1Age65 = oEmp.EmpDateOfBirth.AddYears(65); EEmpTermination empTermination = EEmpTermination.GetObjectByEmpID(dbConn, EmpID); orsoRecord.ORSORecPeriodFr = payrollPeriod.PayPeriodFr; orsoRecord.ORSORecPeriodTo = payrollPeriod.PayPeriodTo; if (orsoRecord.ORSORecPeriodFr > oEmp.EmpDateOfJoin && orsoRecord.ORSORecPeriodTo < oEmp.EmpDateOfJoin) { orsoRecord.ORSORecPeriodFr = oEmp.EmpDateOfJoin; } //if (ORSORecord.ORSORecPeriodFr > dt1Age18 && ORSORecord.ORSORecPeriodTo < dt1Age18) // ORSORecord.ORSORecPeriodFr = dt1Age18; if (empTermination != null) { // Start 0000186, Ricky So, 2016/04/15 // incomplete month --> no orso contribution if (orsoRecord.ORSORecPeriodTo > empTermination.EmpTermLastDate && orsoRecord.ORSORecPeriodFr <= empTermination.EmpTermLastDate) { orsoRecord.ORSORecPeriodTo = empTermination.EmpTermLastDate; orsoRecord.ORSORecActEE = 0; orsoRecord.ORSORecActER = 0; orsoRecord.ORSORecActRI = 0; orsoRecord.ORSORecCalEE = 0; orsoRecord.ORSORecCalER = 0; orsoRecord.ORSORecCalRI = 0; return(orsoRecord); } // End 0000186, Ricky So, 2016/04/15 if (orsoRecord.ORSORecPeriodTo < empTermination.EmpTermLastDate && orsoRecord.ORSORecPeriodFr >= empTermination.EmpTermLastDate) { orsoRecord.ORSORecPeriodTo = empTermination.EmpTermLastDate; } } //if (ORSORecord.ORSORecPeriodTo < dt1Age65 && ORSORecord.ORSORecPeriodFr > dt1Age65) // ORSORecord.ORSORecPeriodTo = dt1Age65; foreach (EPaymentRecord paymentRecord in paymentRecords) { EPaymentCode paymentCode = new EPaymentCode(); paymentCode.PaymentCodeID = paymentRecord.PaymentCodeID; EPaymentCode.db.select(dbConn, paymentCode); if (paymentCode.PaymentCodeIsORSO) { orsoRecord.ORSORecCalRI += paymentRecord.PayRecActAmount; } } orsoRecord.ORSORecActRI = orsoRecord.ORSORecCalRI; if (orsoRecord.ORSOPlanID > 0) { DBFilter oldORSORecordFilter = new DBFilter(); DBFilter empIDFilter = new DBFilter(); empIDFilter.add(new Match("EmpID", EmpID)); oldORSORecordFilter.add(new IN("EmpPayrollID", "Select EmpPayrollID from EMPPayroll ", empIDFilter)); oldORSORecordFilter.add(new Match("ORSORecPeriodFr", "<=", orsoRecord.ORSORecPeriodTo)); oldORSORecordFilter.add(new Match("ORSORecPeriodTo", ">=", orsoRecord.ORSORecPeriodFr)); ArrayList oldORSORecords = EORSORecord.db.select(dbConn, oldORSORecordFilter); EORSORecord oldTotalORSORecord = new EORSORecord(); EORSORecord newTotalORSORecord = new EORSORecord(); foreach (EORSORecord oldORSORecord in oldORSORecords) { oldTotalORSORecord.ORSORecActRI += oldORSORecord.ORSORecActRI; oldTotalORSORecord.ORSORecActER += oldORSORecord.ORSORecActER; oldTotalORSORecord.ORSORecActEE += oldORSORecord.ORSORecActEE; } newTotalORSORecord.ORSORecCalRI = oldTotalORSORecord.ORSORecActRI + orsoRecord.ORSORecCalRI; newTotalORSORecord.ORSORecCalER = CalculateERAmount(dbConn, oEmp, orsoRecord.ORSOPlanID, newTotalORSORecord.ORSORecCalRI, payrollPeriod, mpfRecord); newTotalORSORecord.ORSORecCalEE = CalculateEEAmount(dbConn, oEmp, orsoRecord.ORSOPlanID, newTotalORSORecord.ORSORecCalRI, payrollPeriod, ORSOJoinDate, mpfRecord); orsoRecord.ORSORecCalER = newTotalORSORecord.ORSORecCalER - oldTotalORSORecord.ORSORecActER; orsoRecord.ORSORecCalEE = newTotalORSORecord.ORSORecCalEE - oldTotalORSORecord.ORSORecActEE; orsoRecord.ORSORecActER = Math.Round(orsoRecord.ORSORecCalER, 2, MidpointRounding.AwayFromZero); orsoRecord.ORSORecActEE = Math.Round(orsoRecord.ORSORecCalEE, 2, MidpointRounding.AwayFromZero); EORSOPlan orsoPlan = new EORSOPlan(); orsoPlan.ORSOPlanID = orsoRecord.ORSOPlanID; if (EORSOPlan.db.select(dbConn, orsoPlan)) { if (string.IsNullOrEmpty(orsoPlan.ORSOPlanEmployerRoundingRule)) { orsoPlan.ORSOPlanEmployerRoundingRule = Values.ROUNDING_RULE_ROUND_TO; orsoPlan.ORSOPlanEmployerDecimalPlace = 2; } if (orsoPlan.ORSOPlanEmployerRoundingRule.Equals(Values.ROUNDING_RULE_ROUND_TO)) { orsoRecord.ORSORecActER = HROne.CommonLib.GenericRoundingFunctions.RoundingTo(orsoRecord.ORSORecCalER, orsoPlan.ORSOPlanEmployerDecimalPlace, ExchangeCurrency.DefaultCurrencyDecimalPlaces()); } else if (orsoPlan.ORSOPlanEmployerRoundingRule.Equals(Values.ROUNDING_RULE_ROUND_UP)) { orsoRecord.ORSORecActER = HROne.CommonLib.GenericRoundingFunctions.RoundingUp(orsoRecord.ORSORecCalER, orsoPlan.ORSOPlanEmployerDecimalPlace, ExchangeCurrency.DefaultCurrencyDecimalPlaces()); } else if (orsoPlan.ORSOPlanEmployerRoundingRule.Equals(Values.ROUNDING_RULE_ROUND_DOWN)) { orsoRecord.ORSORecActER = HROne.CommonLib.GenericRoundingFunctions.RoundingDown(orsoRecord.ORSORecCalER, orsoPlan.ORSOPlanEmployerDecimalPlace, ExchangeCurrency.DefaultCurrencyDecimalPlaces()); } if (string.IsNullOrEmpty(orsoPlan.ORSOPlanEmployeeRoundingRule)) { orsoPlan.ORSOPlanEmployeeRoundingRule = Values.ROUNDING_RULE_ROUND_TO; orsoPlan.ORSOPlanEmployeeDecimalPlace = 2; } if (orsoPlan.ORSOPlanEmployeeRoundingRule.Equals(Values.ROUNDING_RULE_ROUND_TO)) { orsoRecord.ORSORecActEE = HROne.CommonLib.GenericRoundingFunctions.RoundingTo(orsoRecord.ORSORecCalEE, orsoPlan.ORSOPlanEmployeeDecimalPlace, ExchangeCurrency.DefaultCurrencyDecimalPlaces()); } else if (orsoPlan.ORSOPlanEmployeeRoundingRule.Equals(Values.ROUNDING_RULE_ROUND_UP)) { orsoRecord.ORSORecActEE = HROne.CommonLib.GenericRoundingFunctions.RoundingUp(orsoRecord.ORSORecCalEE, orsoPlan.ORSOPlanEmployeeDecimalPlace, ExchangeCurrency.DefaultCurrencyDecimalPlaces()); } else if (orsoPlan.ORSOPlanEmployeeRoundingRule.Equals(Values.ROUNDING_RULE_ROUND_DOWN)) { orsoRecord.ORSORecActEE = HROne.CommonLib.GenericRoundingFunctions.RoundingDown(orsoRecord.ORSORecCalEE, orsoPlan.ORSOPlanEmployeeDecimalPlace, ExchangeCurrency.DefaultCurrencyDecimalPlaces()); } } } return(orsoRecord); } else { return(null); } }