EchoTex_Payroll/HRM.DA/DA/Basic/PayScaleDA.cs
2024-10-14 10:01:49 +06:00

103 lines
3.5 KiB
C#

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
}
}