using HRM.BO; using Ease.Core.DataAccess; using System; using System.Data; namespace HRM.DA.Fund { internal class FinalSettlementDA { public FinalSettlementDA() { } #region Insert function internal static void Insert(TransactionContext tc, FinalSettlement oItem) { string sql = SQLParser.MakeSQL(@"INSERT INTO FinalSettlement (FinalSettlementID, MemberID, EmpCode, SettlementDate, TotalPayment, PaymentMode,LastAudCPF,LastAudEPF, LastAudCPFInterest,LastAudEPFInterest,LastAudCurrentEPFInterest,LastAudCurrentCPFInterest, CurrYearEPF,CurrYearCPF,CurrYearEPFInterest,CurrYearCPFInterest,CurrYearInterestPercent, CreatedDate,CreatedBy) VALUES(%n,%n,%s,%d, %n,%s,%n,%n, %n,%n,%n,%n, %n,%n,%n,%n,%n, %d,%n)", oItem.ID, oItem.MemberID, oItem.EmpCode, oItem.SettlementDate, oItem.TotalPayment, oItem.PaymentMode, oItem.LastAudCPF, oItem.LastAudEPF, oItem.LastAudCPFInterest, oItem.LastAudEPFInterest, oItem.LastAudCurrentEPFInterest, oItem.LastAudCurrentCPFInterest, oItem.CurrYearEPF, oItem.CurrYearCPF, oItem.CurrYearEPFInterest, oItem.CurrYearCPFInterest, oItem.CurrYearInterestPercent, oItem.CreatedDate, oItem.CreatedBy); tc.ExecuteNonQuery(sql); } #endregion #region Update function internal static void Update(TransactionContext tc, FinalSettlement oItem) { //tc.ExecuteNonQuery("UPDATE FinalSettlement SET MemberID=%n, EmpCode=%s, SettlementDate=%d, TotalPayment=%n, PaymenrMode=%s, CreatedDate=%d, CreatedBy=%n, ModifiedDate=%d, ModifiedBy=%n" + //" WHERE FinalSettlementID=%n", oItem.MemberID, oItem.EmpCode, oItem.SettlementDate, oItem.TotalPayment, oItem.PaymenrMode, oItem.CreatedDate, oItem.CreatedBy, oItem.ModifiedDate, oItem.ModifiedBy, oItem.FinalSettlementID); } #endregion #region int Generation function internal static int GetNewID(TransactionContext tc) { return tc.GenerateID("FinalSettlement", "FinalSettlementID"); } #endregion #region Get Function internal static IDataReader Get(TransactionContext tc) { return tc.ExecuteReader("SELECT * FROM FinalSettlement"); } internal static IDataReader Get(TransactionContext tc, int nFinalSettlementID) { return tc.ExecuteReader("SELECT * FROM FinalSettlement WHERE FinalSettlementID=%n", nFinalSettlementID); } //internal static IDataReader GetClearanceNotifications(TransactionContext tc,int regEmpId) //{ // return tc.ExecuteReader(@"SELECT distinct e.EMPLOYEEID,e.EMPLOYEENO,f.NAME,T.SentDate,T.ClearanceDate,T.SettlementClearanceStatus // FROM FSHEAD AS f // INNER JOIN EMPLOYEE AS e ON f.EMPID=e.EMPLOYEEID OR f.EMPIDTwo=e.EMPLOYEEID // LEFT JOIN SettlementClearance AS sc ON f.EMPID=sc.EMPLOYEEID OR f.EMPIDTwo=sc.EMPLOYEEID // LEFT JOIN( // SELECT sc.EmpCleranceID,sc.SentDate,sc.ClearanceDate,sc.SettlementClearanceStatus FROM EmpResignationRequest AS err // INNER JOIN SettlementClearance AS sc ON err.employeeID=sc.EmpCleranceID // WHERE sc.EmpCleranceID=%n) t ON t.EmpCleranceID=sc.EmpCleranceID // ", regEmpId); //} internal static IDataReader GetClearanceNotifications(TransactionContext tc, int regEmpId) { return tc.ExecuteReader(@";WITH cte AS( SELECT sc.EmpCleranceID,sc.SentDate,sc.ClearanceDate,sc.SettlementClearanceStatus,sc.EmployeeID FROM EmpResignationRequest AS err INNER JOIN SettlementClearance AS sc ON err.employeeID=sc.EmpCleranceID WHERE sc.EmpCleranceID=%n) SELECT distinct e.EMPLOYEEID, e.Name EmployeeName, e.EMPLOYEENO,f.NAME,sc.SentDate,sc.ClearanceDate,sc.SettlementClearanceStatus FROM FSHEAD AS f INNER JOIN EMPLOYEE AS e ON f.EMPID=e.EMPLOYEEID OR f.EMPIDTwo=e.EMPLOYEEID LEFT JOIN cte AS sc ON f.EMPID=sc.EMPLOYEEID ", regEmpId); } #endregion internal static DataTable GetCPFContributionData(TransactionContext tc) { return tc.ExecuteDataSet("Select * from CPFContribution").Tables[0]; } internal static void UpdateGLTranID(TransactionContext tc, int finalSettlementID, int glTranID) { string sUpdate = SQLParser.MakeSQL("UPDATE FinalSettlement SET GLTranID = %n where FinalSettlementID = %n", glTranID, finalSettlementID); tc.ExecuteNonQuery(sUpdate); } internal static IDataReader Get(TransactionContext tc, string sSql) { return tc.ExecuteReader("SELECT * FROM FinalSettlement %q order by EmpCode", sSql); } internal static void Delete(TransactionContext tc, int settlementID) { string sUpdate = SQLParser.MakeSQL("Delete FinalSettlement where FinalSettlementID = %n", settlementID); tc.ExecuteNonQuery(sUpdate); } } }