private DataSet.Payroll_PaySlip.PaySlip_ORSORow CreatePaySlipORSORow(int PaySlipID, DateTime PeriodFr, DateTime PeriodTo) { DataSet.Payroll_PaySlip.PaySlip_ORSORow orsoRow = dataSet.PaySlip_ORSO.NewPaySlip_ORSORow(); orsoRow.EmpID = PaySlipID; orsoRow.PeriodFr = PeriodFr; orsoRow.PeriodTo = PeriodTo; orsoRow.RelevantIncome = 0; orsoRow.EE = 0; orsoRow.ER = 0; return(orsoRow); }
private bool GenerateORSOData(int PaySlipID, ArrayList orsoRecords) { bool hasORSO = false; DataSet.Payroll_PaySlip.PaySlip_ORSORow orsoRow = null; foreach (EORSORecord orsoRecord in orsoRecords) { hasORSO = true; if (orsoRow == null) { orsoRow = CreatePaySlipORSORow(PaySlipID, orsoRecord.ORSORecPeriodFr, orsoRecord.ORSORecPeriodTo); } if (!(orsoRecord.ORSORecPeriodFr.Equals(orsoRow.PeriodFr) && orsoRecord.ORSORecPeriodTo.Equals(orsoRow.PeriodTo))) { dataSet.PaySlip_ORSO.Rows.Add(orsoRow); orsoRow = CreatePaySlipORSORow(PaySlipID, orsoRecord.ORSORecPeriodFr, orsoRecord.ORSORecPeriodTo); } // Start 0000206, Ricky So, 2015-05-22 //orsoRow.RelevantIncome += orsoRecord.ORSORecActRI; // End 0000206, Ricky So, 2015-05-22 orsoRow.EE += orsoRecord.ORSORecActEE; orsoRow.ER += orsoRecord.ORSORecActER; } // Start 0000206, Ricky So, 2015-05-22 if (orsoRow != null) { EEmpPayroll m_empPayroll = EEmpPayroll.GetObject(dbConn, ((EORSORecord)orsoRecords[0]).EmpPayrollID); EPayrollPeriod m_payPeriod = EPayrollPeriod.GetObject(dbConn, m_empPayroll.PayPeriodID); DBFilter m_basicSalaryFilter = new DBFilter(); m_basicSalaryFilter.add(AppUtils.GetPayemntCodeDBTermByPaymentType(dbConn, "PayCodeID", "BASICSAL")); m_basicSalaryFilter.add(new Match("EmpID", m_empPayroll.EmpID)); m_basicSalaryFilter.add(new Match("EmpRPEffFr", "<=", m_payPeriod.PayPeriodTo)); OR m_or = new OR(); m_or.add(new Match("EmpRPEffTo", ">=", m_payPeriod.PayPeriodFr)); m_or.add(new NullTerm("EmpRPEffTo")); m_basicSalaryFilter.add(m_or); foreach (EEmpRecurringPayment m_payment in EEmpRecurringPayment.db.select(dbConn, m_basicSalaryFilter)) { orsoRow.RelevantIncome += m_payment.EmpRPAmount; } } // End 0000206, Ricky So, 2015-05-22 if (orsoRow != null) { dataSet.PaySlip_ORSO.Rows.Add(orsoRow); } return(hasORSO); }