using System; using Payroll.BO; using System.Data; using System.Linq; using Ease.CoreV35.Model; using System.Data.SqlClient; using Ease.CoreV35.DataAccess; using System.Collections.Generic; using Ease.CoreV35.DataAccess.SQL; namespace Payroll.Service { #region PayScaleDA internal class PayScaleDA { #region Constructor private PayScaleDA() { } #endregion #region Insert function internal static void Insert(TransactionContext tc, PayScale item) { tc.ExecuteNonQuery("INSERT INTO PayScale(PAYSCALEID, GradeID, ALLOWANCEID, InitialAmount, NOOFSLABS, EffectDate,PercentageInc, Type)" + " VALUES(%n, %n, %n, %n, %n, %d, %n, %n)", item.ID.Integer, item.GradeID.Integer, item.ItemID, item.InitialAmount, item.NoOfStep, item.EffectDate, item.IncPercentage, item.ItemType); } #endregion #region Update function internal static void Update(TransactionContext tc, PayScale item) { tc.ExecuteNonQuery("UPDATE PayScale SET gradeID=%n, ALLOWANCEID=%n, initialAmount=%n, NOOFSLABS=%n, effectDate=%d, PercentageInc=%n, Type=%n" + " WHERE PAYSCALEID=%n", item.GradeID.Integer, item.ItemID, item.InitialAmount, item.NoOfStep, item.EffectDate, item.IncPercentage,item.ItemType, item.ID.Integer); } #endregion #region Get Function internal static IDataReader Get(TransactionContext tc) { return tc.ExecuteReader("SELECT * FROM PayScale"); } internal static IDataReader Get(TransactionContext tc, ID nID) { return tc.ExecuteReader("SELECT * FROM PayScale WHERE PAYSCALEID=%n", nID.Integer); } internal static IDataReader GetByAllowance(TransactionContext tc, ID nAllowID) { return tc.ExecuteReader("SELECT * FROM PayScale WHERE ALLOWANCEID=%n", nAllowID.Integer); } internal static IDataReader Get(TransactionContext tc, ID nGradeID, ID nAllowID, DateTime nextPayProcessDate) { return tc.ExecuteReader("SELECT * FROM PayScale WHERE GRADEID=%n AND ALLOWANCEID=%n AND EffectDate=%d", nGradeID.Integer, nAllowID.Integer, nextPayProcessDate); } internal static IDataReader GetMaxEffectDate(TransactionContext tc, ID PayrollTypeID) { return tc.ExecuteReader("SELECT Max(EFFECTDATE) FROM PayScale Where GradeID IN(Select GradeID from Grades where PayRollTypeID=%n)", PayrollTypeID.Integer); } internal static IDataReader GetLatest(TransactionContext tc, ID PayrollTypeID) { return tc.ExecuteReader("SELECT * FROM PayScale WHERE EFFECTDATE =(SELECT MAX(EFFECTDATE) FROM PayScale Where GradeID IN(Select GradeID from Grades where PayRollTypeID=%n))", PayrollTypeID.Integer); } internal static IDataReader GetByGrade(TransactionContext tc,ID nid) { return tc.ExecuteReader("SELECT * FROM PayScale WHERE GRADEID=%n and EffectDate= (SELECT MAX(EFFECTDATE) FROM PayScale)", nid.Integer); } #endregion #region Delete function internal static void Delete(TransactionContext tc, ID nID) { tc.ExecuteNonQuery("DELETE FROM [PAYSCALEITEM] WHERE PAYSCALEID=%n", nID.Integer); tc.ExecuteNonQuery("DELETE FROM [PayScale] WHERE PAYSCALEID=%n", nID.Integer); } internal static void DeleteByGrade(TransactionContext tc, ID nGradeID) { tc.ExecuteNonQuery("DELETE FROM [PAYSCALEITEM] WHERE GRADEID=%n", nGradeID.Integer); tc.ExecuteNonQuery("DELETE FROM [PayScale] WHERE GRADEID=%n", nGradeID.Integer); } #endregion } #endregion }