EchoTex_Payroll/HRM.DA/DA/TrainingS/TrainingScheduleDA.cs

295 lines
14 KiB
C#
Raw Normal View History

2024-10-14 10:01:49 +06:00
using HRM.BO;
using Ease.Core.DataAccess;
using System;
using System.Collections.Generic;
using System.Data;
using NPOI.SS.Formula.Functions;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace HRM.DA
{
class TrainingScheduleDA
{
//DataReader.GetNullValue(item.DepartmentID, 0)
#region Get Function
public static IDataReader Get(TransactionContext tc, int payrollTypeID)
{
return tc.ExecuteReader("SELECT * from TrainingSchedule WHERE PAYROLLTYPEID=%n", payrollTypeID);
}
public static IDataReader GetTS(TransactionContext tc, int trainingScheduleID)
{
return tc.ExecuteReader("SELECT * from TrainingSchedule WHERE TrainingScheduleID=%n", trainingScheduleID);
}
public static IDataReader GetbyStatus(TransactionContext tc, int status, int payrollTypeID)
{
return tc.ExecuteReader("SELECT * from TrainingSchedule WHERE ScheduleStatus=%n AND PAYROLLTYPEID=%n",
status, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, DateTime today, int EmpID, int status, int payrollTypeID)
{
return tc.ExecuteReader(
"SELECT ts.* FROM TrainingSchedule ts,TrainingScheduleEmployee tse WHERE ts.TrainingScheduleID=tse.TrainingScheduleID AND tse.EmployeeID=%n AND %d BETWEEN ts.EnrolledStartDate AND ts.EnrolledEndDate AND ts.ScheduleStatus=%n AND PAYROLLTYPEID=%n",
EmpID, today, status, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, bool active, int payrollTypeID)
{
return tc.ExecuteReader("SELECT * from TrainingSchedule WHERE ScheduleStatus=%n AND PAYROLLTYPEID=%n",
active, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, DateTime today, int payrollTypeID)
{
return tc.ExecuteReader(
"SELECT * from TrainingSchedule WHERE %d BETWEEN EnrolledStartDate AND EnrolledEndDate AND PAYROLLTYPEID=%n",
today, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, DateTime fromDate, DateTime toDate, int training,
int payrollTypeID)
{
return tc.ExecuteReader(
"SELECT * from TrainingSchedule WHERE StartDate BETWEEN %d AND %d AND TrainingID=%n AND PAYROLLTYPEID=%n",
fromDate, toDate, training, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, int training, int TNAID, bool active, int payrollTypeID)
{
return tc.ExecuteReader(
"SELECT * from TrainingSchedule WHERE TrainingID=%n AND TNAnalysisID=%n AND ScheduleStatus=%n AND PAYROLLTYPEID=%n",
training, TNAID, active, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, int training, int TNAID, int payrollTypeID)
{
return tc.ExecuteReader(
"SELECT * from TrainingSchedule WHERE TrainingID=%n AND TNAnalysisID=%n AND PAYROLLTYPEID=%n",
training, TNAID, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, DateTime fromDate, DateTime toDate, int training,
bool active, int payrollTypeID)
{
return tc.ExecuteReader(
"SELECT * from TrainingSchedule WHERE StartDate BETWEEN %d AND %d AND TrainingID=%n AND ScheduleStatus=%n AND PAYROLLTYPEID=%n",
fromDate, toDate, training, active, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, DateTime fromDate, DateTime toDate, bool active,
int payrollTypeID)
{
return tc.ExecuteReader(
"SELECT * from TrainingSchedule WHERE StartDate BETWEEN %d AND %d AND ScheduleStatus=%n AND PAYROLLTYPEID=%n",
fromDate, toDate, active, payrollTypeID);
}
public static IDataReader Get(TransactionContext tc, DateTime fromDate, DateTime toDate, int payrollTypeID)
{
return tc.ExecuteReader(
"SELECT * from TrainingSchedule WHERE StartDate BETWEEN %d AND %d AND PAYROLLTYPEID=%n ", fromDate,
toDate, payrollTypeID);
}
internal static DataSet Get(TransactionContext tc, string query)
{
return tc.ExecuteDataSet(query);
}
#region Child Get
public static IDataReader getScheduleEmp(TransactionContext tc, int TSEmpId)
{
return tc.ExecuteReader("SELECT * from TrainingScheduleEmployee where TrainingScheduleEmployeeID=%n",
TSEmpId);
}
public static IDataReader GetTrainingScheduleDates(TransactionContext tc)
{
return tc.ExecuteReader("SELECT * from TrainingScheduleDate");
}
public static IDataReader GetTrainingScheduleEmployees(TransactionContext tc, int trainingScheduleId)
{
return tc.ExecuteReader("SELECT * from TrainingScheduleEmployee where TrainingScheduleID=%n",
trainingScheduleId);
}
public static IDataReader GetTrainingScheduleDates(TransactionContext tc, int trainingScheduleID)
{
return tc.ExecuteReader("SELECT * from TrainingScheduleDate where TrainingScheduleID=%n",
trainingScheduleID);
}
public static IDataReader GetTrainingSchedule(TransactionContext tc, int trainingId, int trainingTypeId, DateTime? fromDate, DateTime? toDate)
{
string sqlClause = string.Empty;
if (trainingId > 0)
{
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("ts.TRAININGID = %n", trainingId);
}
if (trainingTypeId > 0)
{
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("tr.TRAININGTYPEID = %n", trainingTypeId);
}
if (fromDate != null && toDate != null)
{
// sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("StartDate BETWEEN %d AND %d", fromDate, toDate);
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("CAST(STARTDATE as Date)>= cast(%d as Date) AND CAST(STARTDATE as Date)<= cast(%d as Date) AND CAST(ENDDATE as Date)>= cast( %d as Date) AND CAST(ENDDATE as Date)<= cast(%d as Date)", fromDate, toDate,fromDate,toDate);
}
return tc.ExecuteReader(@"SELECT ts.*,tr.NAME TrainingName,tt.Name TrainingTypeName from TrainingSchedule ts
Inner join TRAINING tr on ts.TRAININGID=tr.TRAININGID
Inner join TRAININGTYPE tt on tt.TRAININGTYPEID=tr.TRAININGTYPEID %q",
sqlClause);
}
#endregion
#endregion
#region Insert Function
public static void Insert(TransactionContext tc, TrainingSchedule oItem)
{
string sql = SQLParser.MakeSQL(
"INSERT INTO TrainingSchedule(TrainingScheduleID, TRAININGID,TrainingNatureID, InstituteID, TrainerDescription, EnrolledStartDate, EnrolledEndDate,IsShowInWeb,TNAnalysisID, StartDate,EndDate,Cost,MaxParticipants,EnrolledParticipants,CourseOutline,ScheduleStatus,VenueCost, RefreshmentCost, TrainerFees, OthesCost,Venue, PAYROLLTYPEID, ManHour, ManDays, DocumentName)" +
" VALUES(%n,%n,%n,%n,%s,%d,%d,%b,%n,%d,%d,%n,%n,%n,%s,%n,%n,%n,%n,%n,%s,%n,%n,%n,%s)", oItem.ID,
DataReader.GetNullValue(oItem.TrainingID, 0), DataReader.GetNullValue(oItem.TrainingNatureID, 0),
DataReader.GetNullValue(oItem.InstituteID, 0), oItem.TrainerDescription, oItem.EnrolledStartDate,
oItem.EnrolledEndDate, oItem.IsShowInWeb, DataReader.GetNullValue(oItem.TNAnalysisID, 0),
oItem.StartDate, oItem.EndDate, DataReader.GetNullValue(oItem.Cost),
DataReader.GetNullValue(oItem.MaxParticipants),
DataReader.GetNullValue(oItem.EnrolledParticipants), DataReader.GetNullValue(oItem.CourseOutline),
DataReader.GetNullValue(oItem.ScheduleStatus), oItem.VenueCost, oItem.RefreshmentCost,
oItem.TrainerFees, oItem.OthesCost, oItem.Venue, oItem.PayrollTypeID, oItem.ManHour, oItem.ManDays,
oItem.DocumentName);
tc.ExecuteNonQuery(sql);
}
public static void InsertTrainingScheduleAttn(TransactionContext tc, TrainingScheduleAttn oItem)
{
tc.ExecuteNonQuery("INSERT INTO TrainingScheduleAttn(TSAttnID, TrainingScheduleID,TSDateID, EmployeeID)" +
" VALUES(%n,%n,%n,%n)", oItem.ID, oItem.TrainingScheduleID, oItem.TSDateID,
oItem.EmployeeID);
}
#region Child Insert
public static void InsertTrainingEmployee(TransactionContext tc, TrainingScheduleEmployee oItem)
{
string sql = SQLParser.MakeSQL(
"INSERT INTO TrainingScheduleEmployee(TrainingScheduleEmployeeID, TrainingScheduleID, ScheduleEmpStatus, EmployeeID, ProposedByID, ProPosedDate,Remarks)" +
" VALUES(%n,%n,%n,%n,%n,%d,%s)", oItem.ID, oItem.TrainingScheduleID, oItem.ScheduleEmpStatus,
oItem.EmployeeID, oItem.ProposedByID, oItem.ProposedDate, oItem.Remarks);
tc.ExecuteNonQuery(sql);
}
public static void InsertTrainingScheduleDate(TransactionContext tc, TrainingScheduleDate oItem)
{
tc.ExecuteNonQuery(
"INSERT INTO TrainingScheduleDate(TrainingScheduleDateID, TrainingScheduleID, ScheduleDate,StartTime,EndTime,Remarks)" +
" VALUES(%n,%n,%d,%D,%D,%s)", oItem.ID, DataReader.GetNullValue(oItem.TrainingScheduleID, 0),
oItem.ScheduleDate, oItem.StartTime, oItem.EndTime, oItem.Remarks);
}
#endregion
#endregion
#region Update Function
public static void Update(TransactionContext tc, TrainingSchedule oItem)
{
tc.ExecuteNonQuery(
"UPDATE TrainingSchedule SET TRAININGID=%n,TrainingNatureID=%n, InstituteID=%n,TrainerDescription=%s,EnrolledStartDate=%d,EnrolledEndDate=%d,IsShowInWeb=%b,TNAnalysisID=%n,StartDate=%d,EndDate=%d,Cost=%n,MaxParticipants=%n,EnrolledParticipants=%n,CourseOutline=%s,ScheduleStatus=%n, PAYROLLTYPEID=%n, VenueCost=%n, RefreshmentCost=%n, TrainerFees=%n, OthesCost=%n, Venue=%s, ManHour=%n, ManDays=%n, DocumentName=%s" +
" WHERE TrainingScheduleID=%n", DataReader.GetNullValue(oItem.TrainingID, 0),
DataReader.GetNullValue(oItem.TrainingNatureID, 0), DataReader.GetNullValue(oItem.InstituteID, 0),
oItem.TrainerDescription, oItem.EnrolledStartDate, oItem.EnrolledEndDate, oItem.IsShowInWeb,
DataReader.GetNullValue(oItem.TNAnalysisID, 0), oItem.StartDate, oItem.EndDate,
DataReader.GetNullValue(oItem.Cost), DataReader.GetNullValue(oItem.MaxParticipants),
oItem.EnrolledParticipants, DataReader.GetNullValue(oItem.CourseOutline),
oItem.ScheduleStatus, oItem.PayrollTypeID, oItem.VenueCost, oItem.RefreshmentCost, oItem.TrainerFees,
oItem.OthesCost, oItem.Venue, oItem.ManHour, oItem.ManDays, oItem.DocumentName, oItem.ID);
}
public static void updateScheduleEmp(TransactionContext tc, TrainingScheduleEmployee oItem)
{
tc.ExecuteNonQuery(
"UPDATE TrainingScheduleEmployee SET TrainingScheduleID=%n, ScheduleEmpStatus=%n, EmployeeID=%n, ProposedByID=%n, ProPosedDate=%d,Remarks=%s WHERE TrainingScheduleEmployeeID=%n",
oItem.TrainingScheduleID, oItem.ScheduleEmpStatus, oItem.EmployeeID, oItem.ProposedByID,
oItem.ProposedDate, oItem.Remarks, oItem.ID);
}
public static void updateScheduleEmp(TransactionContext tc, int SEmpID, int status)
{
tc.ExecuteNonQuery(
"UPDATE TrainingScheduleEmployee SET ScheduleEmpStatus=%n WHERE TrainingScheduleEmployeeID=%n", status,
SEmpID);
}
#endregion
#region Delete Function
public static void Delete(TransactionContext tc, int id)
{
tc.ExecuteNonQuery("Delete from TrainingSchedule where TrainingScheduleID=%n", id);
}
public static void DeleteScheduleDetail(TransactionContext tc, int trainingScheduleID)
{
tc.ExecuteNonQuery(
"Delete from TrainingSchEmpCost where TrainSchEmpID In (select TrainingScheduleEmployeeID from TrainingScheduleEmployee where TrainingScheduleID=%n)",
trainingScheduleID);
tc.ExecuteNonQuery("Delete from TrainingScheduleDate where TrainingScheduleID=%n", trainingScheduleID);
tc.ExecuteNonQuery("Delete from TrainingScheduleEmployee where TrainingScheduleID=%n", trainingScheduleID);
}
public static void DeleteTrainingEmployees(TransactionContext tc, int trainingScheduleID)
{
tc.ExecuteNonQuery("Delete from TrainingScheduleEmployee where TrainingScheduleID=%n", trainingScheduleID);
}
public static void DeleteTrainingScheduleDate(TransactionContext tc, int id)
{
tc.ExecuteNonQuery("Delete from TrainingScheduleDate where TrainingScheduleDateID=%n", id);
}
public static void DeleteTrainingScheduleDates(TransactionContext tc, int trainingScheduleID)
{
tc.ExecuteNonQuery("Delete from TrainingScheduleDate where TrainingScheduleID=%n", trainingScheduleID);
}
public static void DeleteTrainingScheduleAttn(TransactionContext tc, int trainingScheduleID)
{
tc.ExecuteNonQuery("Delete from TrainingScheduleAttn where TrainingScheduleID=%n", trainingScheduleID);
}
public static void DeleteNominatedEmp(TransactionContext tc, int SEmpID)
{
tc.ExecuteNonQuery("Delete from TrainingScheduleEmployee where TrainingScheduleEmployeeID=%n", SEmpID);
}
#endregion
public static bool IsExists(string TableName, string ColName, string sCode, TransactionContext tc)
{
object ob = tc.ExecuteScalar("SELECT COUNT(*) FROM " + TableName + " WHERE " + ColName + "=%s", sCode);
return (Convert.ToInt32(ob) > 0);
}
}
}