using Ease.Core.DataAccess; using System; using System.Data; using HRM.BO; namespace HRM.DA { 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, item.GradeID, 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, item.ItemID, item.InitialAmount, item.NoOfStep, item.EffectDate, item.IncPercentage, item.ItemType, item.ID); } #endregion #region Get Function internal static IDataReader Get(TransactionContext tc) { return tc.ExecuteReader("SELECT * FROM PayScale"); } internal static IDataReader Get(TransactionContext tc, int ID) { return tc.ExecuteReader("SELECT * FROM PayScale WHERE PAYSCALEID=%n", ID); } internal static IDataReader GetByAllowance(TransactionContext tc, int AllowID) { return tc.ExecuteReader("SELECT * FROM PayScale WHERE ALLOWANCEID=%n", AllowID); } internal static IDataReader Get(TransactionContext tc, int GradeID, int AllowID, DateTime nextPayProcessDate) { return tc.ExecuteReader("SELECT * FROM PayScale WHERE GRADEID=%n AND ALLOWANCEID=%n AND EffectDate=%d", GradeID, AllowID, nextPayProcessDate); } internal static IDataReader GetMaxEffectDate(TransactionContext tc, int payrollTypeID) { return tc.ExecuteReader( "SELECT Max(EFFECTDATE) FROM PayScale Where GradeID IN(Select GradeID from Grades where PayRollTypeID=%n)", payrollTypeID); } internal static IDataReader GetLatest(TransactionContext tc, int 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); } internal static IDataReader GetByGrade(TransactionContext tc, int id) { return tc.ExecuteReader( "SELECT * FROM PayScale WHERE GRADEID=%n and EffectDate= (SELECT MAX(EFFECTDATE) FROM PayScale)", id); } #endregion #region Delete function internal static void Delete(TransactionContext tc, int id) { tc.ExecuteNonQuery("DELETE FROM PAYSCALEITEM WHERE PAYSCALEID=%n", id); tc.ExecuteNonQuery("DELETE FROM PayScale WHERE PAYSCALEID=%n", id); } internal static void DeleteByGrade(TransactionContext tc, int GradeID) { tc.ExecuteNonQuery("DELETE FROM PAYSCALEITEM WHERE GRADEID=%n", GradeID); tc.ExecuteNonQuery("DELETE FROM PayScale WHERE GRADEID=%n", GradeID); } #endregion } }