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

108 lines
4.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Payroll.BO;
using System.Data;
using Ease.CoreV35.Model;
using System.Data.SqlClient;
using Ease.CoreV35.DataAccess;
using Ease.CoreV35.DataAccess.SQL;
namespace Payroll.Service
{
internal class SurveyDA
{
#region Constructor
private SurveyDA() { }
#endregion
#region Survey
#region Insert function
internal static void Insert(TransactionContext tc, Survey item)
{
tc.ExecuteNonQuery("INSERT INTO Survey(SurveyID, CategoryID, Title, Description, FromDate, ToDate,IsForCelyStoped,IsPublished,CreatedBy,CreationDate,PublishDate,SurveyType)" +
" VALUES(%n, %n, %s, %s, %d, %d, %b,%b,%n,%d,%d,%n)", item.ID.Integer, item.CategoryID, item.Title, item.Description, item.FromDate, item.ToDate, item.IsForCelyStoped,item.IsPublished,item.CreatedBy.Integer,item.CreatedDate,DataReader.GetNullValue(item.PublishDate) ,item.SurveyType);
}
#endregion
#region Update function
internal static void Update(TransactionContext tc, Survey item)
{
tc.ExecuteNonQuery("UPDATE Survey SET CategoryID=%n, Title=%s, Description=%s, FromDate=%d, ToDate=%d,IsForCelyStoped=%b,IsPublished=%b,ModifiedBy=%n,ModifiedDate=%d,PublishDate=%d,SurveyType=%n" +
" WHERE SurveyID=%n", item.CategoryID, item.Title, item.Description, item.FromDate, item.ToDate, item.IsForCelyStoped,item.IsPublished,item.ModifiedBy.Integer,item.ModifiedDate,DataReader.GetNullValue(item.PublishDate),item.SurveyType, item.ID.Integer);
}
#endregion
#region Get Function
public static IDataReader Get(TransactionContext tc)
{
return tc.ExecuteReader("SELECT * FROM Survey");
}
public static IDataReader GetByCategory(TransactionContext tc, int nCategoryId)
{
return tc.ExecuteReader("SELECT * FROM Survey WHERE CategoryId=%n", nCategoryId);
}
public static IDataReader Get(TransactionContext tc, DateTime today)
{
return tc.ExecuteReader("SELECT * from Survey WHERE %d BETWEEN FromDate AND ToDate AND IsPublished=1 AND IsForcelyStoped=0", today);
}
//public static IDataReader Get(TransactionContext tc, Employee oEmp)
//{
// return tc.ExecuteReader("SELECT * from Survey");
//}
public static IDataReader GetByCategory(TransactionContext tc, int nCategoryId, DateTime fromDT, DateTime toDT)
{
return tc.ExecuteReader("SELECT * FROM Survey WHERE CategoryId=%n and (FromDate>= %d and FromDate<= %d) OR( ToDate>= %d and ToDate<= %d)", nCategoryId, fromDT, toDT, fromDT, toDT);
}
public static IDataReader GetByCategory(TransactionContext tc, DateTime fromDT, DateTime toDT)
{
return tc.ExecuteReader("SELECT * FROM Survey WHERE (FromDate>= %d and FromDate<= %d) OR( ToDate>= %d and ToDate<= %d)", fromDT, toDT, fromDT, toDT);
}
public static IDataReader GetIncompleteSurveys(TransactionContext tc, int empID, EnumSurveyType type, DateTime fromDT, DateTime toDT)
{
//if (type == EnumSurveyType.Self || type == EnumSurveyType.Managerial)
// return tc.ExecuteReader("SELECT S.* FROM Survey S,SurveyEmployee SE WHERE SE.EmployeeId=%n and S.SurveyType=%n and S.SurveyId=SE.SurveyId and S.PublishFromDate between %d and %d", empID, (int)type, fromDT, toDT);
//else
return tc.ExecuteReader("SELECT S.* FROM Survey S,SurveyEmployee SE WHERE SE.EmployeeId=%n and S.SurveyId=SE.SurveyId and S.PublishDate between %d and %d", empID, fromDT, toDT);
}
public static IDataReader Get(TransactionContext tc, int nSurveyId)
{
return tc.ExecuteReader("SELECT * FROM Survey WHERE SurveyId=%n", nSurveyId);
}
#endregion
#region Delete function
public static void Delete(TransactionContext tc, int nSurveyId)
{
SurveyQuestionDA.DeleteSurveyQuestion(tc, nSurveyId);
SurveyEmployeeDA.DeleteSurveyEmployee(tc, nSurveyId);
SurveyOrganizationDA.DeleteSurveyOrganization(tc, nSurveyId);
tc.ExecuteNonQuery("DELETE FROM [Survey] WHERE SurveyId=%n", nSurveyId);
}
public static void Publish(TransactionContext tc, Survey survey)
{
tc.ExecuteNonQuery("UPDATE [Survey] SET PublishDate=%d,IsPublished=%b WHERE SurveyId=%n", survey.PublishDate.Value,survey.IsPublished,survey.ID.Integer);
}
public static void Stop(TransactionContext tc, Survey survey)
{
tc.ExecuteNonQuery("UPDATE [Survey] SET PublishDate=%d,IsPublished=%b,IsForCelyStoped=%b WHERE SurveyId=%n", DataReader.GetNullValue(survey.PublishDate), survey.IsPublished,survey.IsForCelyStoped, survey.ID.Integer);
}
#endregion
#endregion
}
}