using System; using System.Collections.Generic; using System.Linq; using System.Text; using Ease.CoreV35.DataAccess; using System.Data; using HRM.BO; using Ease.Core.DataAccess; namespace HRM.DA { #region WorkPlanGroupDA internal class WorkPlanGroupDA { #region Constructor private WorkPlanGroupDA() { } #endregion #region Insert function internal static void Insert(TransactionContext tc, WorkPlanGroup item, int PayrollTypeID) { tc.ExecuteNonQuery(@"INSERT INTO WorkPlanGroup(WorkPlanGroupID, Name, Type, CreatedBy, CreatedDate, SequenceNo, Status,PayrollTypeID, ShiftID, SaturdayShiftID, SundayShiftID, MondayShiftID, TuesdayShiftID, WednesdayShiftID, ThursdayShiftID, FridayShiftID, HolidayOne, HolidayTwo)" + " VALUES(%n, %s, %n, %n, %d, %n, %n, %n, %n, %n, %n, %n, %n, %n, %n, %n, %n, %n)", item.ID, item.Name, item.Type, item.CreatedBy, item.CreatedDate, item.Sequence, item.Status, PayrollTypeID, DataReader.GetNullValue(item.InitialShiftID), DataReader.GetNullValue(item.SaturdayShiftID), DataReader.GetNullValue(item.SundayShiftID), DataReader.GetNullValue(item.MondayShiftID), DataReader.GetNullValue(item.TuesdayShiftID), DataReader.GetNullValue(item.WednesdayShiftID), DataReader.GetNullValue(item.ThursdayShiftID), DataReader.GetNullValue(item.FridayShiftID), item.HolidayOne, item.HolidayTwo); } #endregion #region Update function internal static void Update(TransactionContext tc, WorkPlanGroup item, int PayrollTypeID) { tc.ExecuteNonQuery(@"UPDATE WorkPlanGroup SET Name=%s, Type=%n, ModifiedBy=%n, ModifiedDate=%d, SequenceNo=%n, Status=%n, PayrollTypeID=%n, ShiftID=%n, SaturdayShiftID=%n, SundayShiftID=%n, MondayShiftID=%n, TuesdayShiftID=%n, WednesdayShiftID=%n, ThursdayShiftID=%n, FridayShiftID=%n, HolidayOne=%n, HolidayTwo=%n" + " WHERE WorkPlanGroupID=%n", item.Name, item.Type, item.ModifiedBy, item.ModifiedDate, item.Sequence, item.Status, PayrollTypeID, DataReader.GetNullValue(item.InitialShiftID), DataReader.GetNullValue(item.SaturdayShiftID), DataReader.GetNullValue(item.SundayShiftID), DataReader.GetNullValue(item.MondayShiftID), DataReader.GetNullValue(item.TuesdayShiftID), DataReader.GetNullValue(item.WednesdayShiftID), DataReader.GetNullValue(item.ThursdayShiftID), DataReader.GetNullValue(item.FridayShiftID), item.HolidayOne, item.HolidayTwo, item.ID); } #endregion #region Get Function internal static IDataReader GetUsingPayrollType(TransactionContext tc, int PayrollTypeID) { return tc.ExecuteReader("SELECT * FROM WorkPlanGroup WHERE PayrollTypeID=%n", PayrollTypeID); } internal static IDataReader Get(TransactionContext tc, int nID) { return tc.ExecuteReader("SELECT * FROM WorkPlanGroup " + "WHERE WorkPlanGroupID=%n ", nID); } internal static IDataReader Get(TransactionContext tc, EnumStatus status, int payrollTypeID, string name, EnumWorkPlanGroup? wPlanGroup) { string sqlClause = string.Empty; sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("PayrollTypeID = %n", payrollTypeID); if (EnumStatus.Active == status || EnumStatus.Inactive == status) { sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("status = %n", status); } if (wPlanGroup!=null) { sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("type = %n", wPlanGroup); } if (!string.IsNullOrWhiteSpace(name)) { sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("Name LIKE %s", ("%" + name + "%")); } return tc.ExecuteReader("SELECT * FROM WorkPlanGroup %q order by type, Name", sqlClause); } #endregion #region Delete function internal static void Delete(TransactionContext tc, int nID) { tc.ExecuteNonQuery("DELETE FROM WorkPlanGroup WHERE WorkPlanGroupID=%n", nID); } #endregion internal static IDataReader GetByName(TransactionContext tc, string name, int payrollTypeID) { return tc.ExecuteReader( "SELECT * FROM WorkPlanGroup where Name LIKE %s and PayrollTypeID=%n order by SequenceNO", ('%' + name + '%'), payrollTypeID); } internal static IDataReader GetAll(TransactionContext tc) { return tc.ExecuteReader("SELECT * FROM WorkPlanGroup"); } internal static IDataReader GetByPayrollTypeId(TransactionContext tc, int payrollTypeId) { return tc.ExecuteReader("SELECT * FROM WorkPlanGroup WHERE PayrollTypeID=%n order by SequenceNO", payrollTypeId); } internal static IDataReader GetByEmpId(TransactionContext tc, int empId) { string query = SQLParser.MakeSQL(@" SELECT wpg.* FROM WorkPlanGroup wpg JOIN EMPLOYEEWORKPLANSETUP empwpg ON wpg.WorkPlanGroupID = empwpg.WORKPLANGROUPID WHERE empwpg.EMPLOYEEID = %n", empId); return tc.ExecuteReader(query); } internal static IDataReader Get(TransactionContext tc, Employee oEmployee) { string query = SQLParser.MakeSQL(@" SELECT * FROM WorkPlanGroup wpg LEFT JOIN EmployeeWorkPlanSetup ewps ON wpg.WorkPlanGroupID = ewps.WORKPLANGROUPID WHERE ewps.EmployeeID = %n ", oEmployee.ID); return tc.ExecuteReader(query); } } #endregion }