CEL_Payroll/Payroll.Service/Basic/DA/PayScaleDA.cs
2024-09-17 14:30:13 +06:00

102 lines
3.7 KiB
C#

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
}