private bool GenerateMPFData(int PaySlipID, ArrayList mpfRecords) { bool hasMPF = false; DataSet.Payroll_PaySlip.PaySlip_MPFRow mpfRow = null; foreach (EMPFRecord mpfRecord in mpfRecords) { hasMPF = true; if (mpfRow == null) { mpfRow = CreatePaySlipMPFRow(PaySlipID, mpfRecord.MPFRecPeriodFr, mpfRecord.MPFRecPeriodTo); } if (!(mpfRecord.MPFRecPeriodFr.Equals(mpfRow.PeriodFr) && mpfRecord.MPFRecPeriodTo.Equals(mpfRow.PeriodTo))) { dataSet.PaySlip_MPF.Rows.Add(mpfRow); mpfRow = CreatePaySlipMPFRow(PaySlipID, mpfRecord.MPFRecPeriodFr, mpfRecord.MPFRecPeriodTo); } mpfRow.RelevantIncome += mpfRecord.MPFRecActMCRI; mpfRow.MPFEE += mpfRecord.MPFRecActMCEE; mpfRow.MPFER += mpfRecord.MPFRecActMCER; mpfRow.VCEE += mpfRecord.MPFRecActVCEE; mpfRow.VCER += mpfRecord.MPFRecActVCER; } if (mpfRow != null) { dataSet.PaySlip_MPF.Rows.Add(mpfRow); } return(hasMPF); }
private DataSet.Payroll_PaySlip.PaySlip_MPFRow CreatePaySlipMPFRow(int PaySlipID, DateTime PeriodFr, DateTime PeriodTo) { DataSet.Payroll_PaySlip.PaySlip_MPFRow mpfRow = dataSet.PaySlip_MPF.NewPaySlip_MPFRow(); mpfRow.EmpID = PaySlipID; mpfRow.PeriodFr = PeriodFr; mpfRow.PeriodTo = PeriodTo; mpfRow.RelevantIncome = 0; mpfRow.MPFEE = 0; mpfRow.MPFER = 0; mpfRow.VCEE = 0; mpfRow.VCER = 0; return(mpfRow); }