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 ESBProvisionDA internal class ESBProvisionDA { #region Constructor private ESBProvisionDA() { } #endregion #region Insert function internal static void Insert(TransactionContext tc, ESBProvision item) { //, ProvisionOne,ProvisionTwo , %n, %n , item.ProvisionOne, item.ProvisionTwo tc.ExecuteNonQuery("INSERT INTO ESBProvision(EmployeeID, SalaryMonthlyID, UserID, ProcessMonthDate, Provision)" + " VALUES(%n, %n, %n, %d, %n)", item.EmployeeID.Integer, item.SalaryMonthlyID.Integer, item.UserID.Integer, item.ProcessMonthDate, item.Provision); } #endregion #region Get Function internal static IDataReader Get(TransactionContext tc, ID nID) { return tc.ExecuteReader("SELECT * FROM ESBProvision WHERE EmployeeID=%n",nID.Integer ); } internal static IDataReader GetProvision(TransactionContext tc, string sEmpID, DateTime GratuityMonth) { string sSQL = string.Empty; sSQL = SQLParser.MakeSQL("SELECT * FROM ESBProvision WHERE EmployeeID in (%q) and ProcessMonthDate=%d", sEmpID, GratuityMonth); return tc.ExecuteReader("SELECT * FROM ESBProvision WHERE EmployeeID in (%q) and ProcessMonthDate=%d", sEmpID, GratuityMonth); } #endregion #region Delete function internal static void Delete(TransactionContext tc, ID nEmpID, ID nSalaryMonthlyID) { tc.ExecuteNonQuery("DELETE FROM [ESBProvision] WHERE EmployeeID=%n and SalaryMonthlyID=%n", nEmpID.Integer,nSalaryMonthlyID.Integer); } internal static IDataReader GetProvision(TransactionContext tc, DateTime dFromDate, DateTime dToDate) { return tc.ExecuteReader("SELECT * FROM ESBProvision where ProcessMonthDate between %d and %d ", dFromDate,dToDate); } internal static IDataReader GetProvision(TransactionContext tc,int nEmpID, DateTime dFromDate, DateTime dToDate) { return tc.ExecuteReader("SELECT * FROM ESBProvision where EmployeeID=%n AND ProcessMonthDate between %d and %d ",nEmpID, dFromDate, dToDate); } internal static double GetOpeningBalance(TransactionContext tc, int nEmpID, DateTime fromDate) { object amount = tc.ExecuteScalar("SELECT SUM(Provision) FROM ESBProvision WHERE" + " EmployeeID=%n AND ProcessMonthDate < %d",nEmpID,fromDate); if (amount == DBNull.Value) return 0; else return Convert.ToDouble(amount); } internal static DataSet GetCumulativeProv(TransactionContext tc, DateTime dateTime) { DataSet oCumulativeProvs = new DataSet(); try { oCumulativeProvs = tc.ExecuteDataSet("SELECT EmployeeID,SUM(Provision) FROM ESBProvision WHERE" + " ProcessMonthDate < %d Group by EmployeeID", dateTime); } catch (Exception ex) { throw new Exception(ex.Message); } return oCumulativeProvs; } #endregion } #endregion }