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

122 lines
5.9 KiB
C#

using Ease.Core.DataAccess;
using HRM.BO;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HRM.DA
{
internal class MaternityLeaveDA
{
#region Save Methods
internal static void Save(TransactionContext tc, MaternityLeave oItem)
{
string strSQL = SQLParser.MakeSQL("INSERT INTO MaternityLeave(MaternityLeaveID, EmployeeID, ApplicationDate," +
" LeaveFromDate ,LeaveToDate, DateOfApproval, ApproveDays, CurrentStatus, DailyAvgEarning," +
" MaternityBenifit, TaxAmount, NetAmount, PaidAmount, CreatedBy, CreatedDate)" +
" VALUES(%n, %n, %d, %d, %d, %d, %n, %n, %n, %n, %n, %n, %n, %n, %d)", oItem.ID,
oItem.EmployeeID, oItem.ApplicationDate, oItem.LeaveFromDate, oItem.LeaveToDate,
DataReader.GetNullValue(oItem.DateOfApproval), DataReader.GetNullValue(oItem.ApproveDays),
oItem.CurrentStatus, oItem.DailyAvgEarning, oItem.MaternityBenifit, oItem.TaxAmount,
oItem.NetAmount, DataReader.GetNullValue(oItem.PaidAmount), oItem.CreatedBy,
oItem.CreatedDate);
tc.ExecuteNonQuery(strSQL);
}
internal static void SaveMItemDetail(TransactionContext tc, MaternityLeave.MaternityItemDetail oItem)
{
string strSQL = SQLParser.MakeSQL("INSERT INTO MaternityItemDetail(MaternityItemDetailID, MaternityLeaveID," +
" ItemType, Amount ,Description, MonthDate, IncomeTaxItemType, SalaryComponentID, CreatedBy, CreatedDate)" +
"VALUES(%n ,%n, %n, %n, %s, %d, %n, %n, %n, %d)", oItem.ID, oItem.MaternityLeaveID,
Convert.ToInt16(oItem.ItemType), oItem.Amount, oItem.Description, oItem.MonthDate, Convert.ToInt16(oItem.IncomeTaxItemType), oItem.SalaryComponentID, oItem.CreatedBy,
oItem.CreatedDate);
tc.ExecuteNonQuery(strSQL);
}
internal static void SaveMStatusDetail(TransactionContext tc, MaternityLeave.MaternityStatusDetail oItem)
{
string strSQL = SQLParser.MakeSQL("INSERT INTO MaternityStatusDetail(MaternityStatusDetailID, MaternityLeaveID, Status," +
"PaymentDate, Amount, PaymentDays, CreatedBy, CreatedDate) VALUES(%n, %n, %n, %d, %n, %n, %n, %d)",
oItem.ID, oItem.MaternityLeaveID, oItem.Status,
DataReader.GetNullValue(oItem.PaymentDate), oItem.Amount, oItem.PaymentDays, oItem.CreatedBy,
oItem.CreatedDate);
tc.ExecuteNonQuery(strSQL);
}
#endregion Save Methods
#region Update Methods
internal static void Update(TransactionContext tc, MaternityLeave oItem)
{
string sSql = SQLParser.MakeSQL("UPDATE MaternityLeave SET ApplicationDate=%d,"
+ " LeaveFromDate=%d ,LeaveToDate=%d, DateOfApproval=%d, ApproveDays=%n, CurrentStatus=%n,"
+ " DailyAvgEarning=%n,MaternityBenifit=%n, TaxAmount=%n, NetAmount=%n, PaidAmount=%n, "
+ "ModifiedBy=%n, ModifiedDate=%d WHERE MaternityLeaveID=%n", oItem.ApplicationDate,
oItem.LeaveFromDate, oItem.LeaveToDate, oItem.DateOfApproval, oItem.ApproveDays,
oItem.CurrentStatus, oItem.DailyAvgEarning, oItem.MaternityBenifit, oItem.TaxAmount,
oItem.NetAmount, oItem.PaidAmount, oItem.ModifiedBy, oItem.ModifiedDate, oItem.ID);
tc.ExecuteNonQuery(sSql);
}
#endregion Update Methods
#region Get Methods
internal static IDataReader Get(TransactionContext tc)
{
return tc.ExecuteReader("SELECT * FROM MaternityLeave ORDER BY MaternityLeaveID DESC");
}
internal static IDataReader Get(TransactionContext tc, Employee oEmployee)
{
return tc.ExecuteReader("SELECT * FROM MaternityLeave WHERE EmployeeID =%n", oEmployee.ID);
}
internal static IDataReader Get(TransactionContext tc, int id)
{
return tc.ExecuteReader("SELECT * FROM MaternityLeave WHERE MaternityLeaveID = %n", id);
}
internal static IDataReader GetMItemDetailByParent(TransactionContext tc, int maternityLeaveID)
{
return tc.ExecuteReader("SELECT * FROM MaternityItemDetail WHERE MaternityLeaveID = %n", maternityLeaveID);
}
internal static IDataReader GetMStatusDetailByParent(TransactionContext tc, int maternityLeaveID)
{
return tc.ExecuteReader("SELECT * FROM MaternityStatusDetail WHERE MaternityLeaveID = %n", maternityLeaveID);
}
internal static int GetTotalMonthlyHolidays(TransactionContext tc, int loactionNumber, DateTime firstDateOfMonth, DateTime lastDateOfMonth)
{
int totalMonthlyHolidays = 0;
object holidays = tc.ExecuteScalar("SELECT Count(*) FROM HolidayCalendar WHERE HoliDayDate >= %d AND HoliDayDate <= %d AND LocationID=%n", firstDateOfMonth, lastDateOfMonth, loactionNumber);
if (holidays != DBNull.Value)
{
totalMonthlyHolidays = Convert.ToInt32(holidays);
}
return totalMonthlyHolidays;
}
#endregion Get Methods
#region Delete Methods
internal static void Delete(TransactionContext tc, int maternityLeaveID)
{
tc.ExecuteNonQuery("DELETE FROM MaternityLeave WHERE MaternityLeaveID=%n", maternityLeaveID);
}
internal static void DeleteMItemDetailByParent(TransactionContext tc, int maternityLeaveID)
{
tc.ExecuteNonQuery("DELETE FROM MaternityItemDetail WHERE MaternityLeaveID=%n", maternityLeaveID);
}
internal static void DeleteMStatusDetailByParent(TransactionContext tc, int maternityLeaveID)
{
tc.ExecuteNonQuery("DELETE FROM MaternityStatusDetail WHERE MaternityLeaveID=%n", maternityLeaveID);
}
#endregion Delete Methods
}
}