using System;
using System.Data;
using Ease.Core.Model;
using Ease.Core.DataAccess;
using Ease.Core;
using System.Collections.Generic;
using Ease.Core.Utility;


namespace HRM.DA
{
    public class MiscellaneousDatasetService
    {
        public DataSet GetItemWiseSalary(string sEmpID, DateTime _SalaryMonth, DateTime toDate, string sSQL)
        {
            DataSet oGrossPay = new DataSet();

            TransactionContext tc = null;
            try
            {
                tc = TransactionContext.Begin();
                oGrossPay = MiscellaneousDatasetDA.GetItemWiseSalary(tc, sEmpID, _SalaryMonth, toDate, sSQL);
                tc.End();
            }
            catch (Exception e)
            {
                #region Handle Exception

                if (tc != null)
                    tc.HandleError();
                ExceptionLog.Write(e);
                throw new ServiceException(e.Message, e);

                #endregion
            }

            return oGrossPay;
        }

        public DataSet GetDataSetBySQL( string sSQL)
        {
            DataSet oGrossPay = new DataSet();

            TransactionContext tc = null;
            try
            {
                tc = TransactionContext.Begin();
                oGrossPay = MiscellaneousDatasetDA.GetDataSetBySQL(tc, sSQL);
                tc.End();
            }
            catch (Exception e)
            {
                #region Handle Exception

                if (tc != null)
                    tc.HandleError();
                ExceptionLog.Write(e);
                throw new ServiceException(e.Message, e);

                #endregion
            }

            return oGrossPay;
        }

        public DataSet GetEmployeesPFNew(DateTime fromDate, DateTime toDate, string sEmpIDs)
        {
            DataSet oGrossPay = new DataSet();

            TransactionContext tc = null;
            try
            {
                tc = TransactionContext.Begin();
                oGrossPay = MiscellaneousDatasetDA.GetEmployeesPFNew(tc, fromDate, toDate, sEmpIDs);
                tc.End();
            }
            catch (Exception e)
            {
                #region Handle Exception
                if (tc != null)
                    tc.HandleError();
                ExceptionLog.Write(e);
                throw new ServiceException(e.Message, e);
                #endregion
            }
            return oGrossPay;
        }
        public DataSet GetEmpCostCenter(string sEmpID)
        {
            DataSet oSalarySummary = new DataSet();

            TransactionContext tc = null;
            try
            {
                tc = TransactionContext.Begin();
                oSalarySummary = MiscellaneousDatasetDA.GetEmpCostCenter(tc, sEmpID);
                tc.End();
            }
            catch (Exception e)
            {
                #region Handle Exception
                if (tc != null)
                    tc.HandleError();
                ExceptionLog.Write(e);
                throw new ServiceException(e.Message, e);
                #endregion
            }
            return oSalarySummary;
        }
        public DataSet GetEmployeesPF(DateTime dateTime, int locationID, string empIDs)
        {
            DataSet oEmployeesPF = new DataSet();

            TransactionContext tc = null;
            try
            {
                tc = TransactionContext.Begin();
                oEmployeesPF = MiscellaneousDatasetDA.GetEmployeesPF(tc, dateTime, locationID, empIDs);
                tc.End();
            }
            catch (Exception e)
            {
                #region Handle Exception
                if (tc != null)
                    tc.HandleError();
                ExceptionLog.Write(e);
                throw new ServiceException(e.Message, e);
                #endregion
            }
            return oEmployeesPF;
        }
        public DataSet GetFor177Data(DateTime dSalarymonth, string sEmpID, int payrollTypeId)
        {
            DataSet oGrossPay = new DataSet();

            TransactionContext tc = null;
            try
            {
                tc = TransactionContext.Begin();
                oGrossPay = MiscellaneousDatasetDA.GetFor177Data(tc, dSalarymonth, sEmpID, payrollTypeId);
                tc.End();
            }
            catch (Exception e)
            {
                #region Handle Exception
                if (tc != null)
                    tc.HandleError();
                ExceptionLog.Write(e);
                throw new ServiceException(e.Message, e);
                #endregion
            }
            return oGrossPay;
        }

        public DataSet GetPerquisiteData(DateTime dSStartMonthDate, DateTime dSEndMonthDate, string sEmpID, int payrollTypeId)
        {
            DataSet oGrossPay = new DataSet();

            TransactionContext tc = null;
            try
            {
                tc = TransactionContext.Begin();
                oGrossPay = MiscellaneousDatasetDA.GetPerquisiteData(tc, dSStartMonthDate, dSEndMonthDate, sEmpID, payrollTypeId);
                tc.End();
            }
            catch (Exception e)
            {
                #region Handle Exception
                if (tc != null)
                    tc.HandleError();
                ExceptionLog.Write(e);
                throw new ServiceException(e.Message, e);
                #endregion
            }
            return oGrossPay;
        }
        /*  #region Service implementation

          public int? GetByGlobalID(string globalID)
          {
              TransactionContext tc = null;
              int? glbID = null;
              try
              {
                  tc = TransactionContext.Begin(true);
                  DataReader dr = new DataReader(MiscellaneousDatasetDA.GetByGlobalID(tc, globalID));
                  if (dr.Read())
                  {
                      glbID = dr.GetInt32("EmployeeID") == null ? null : dr.GetInt32("EmployeeID");
                  }
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);

                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return glbID;
          }

          public DataSet GetEmpGrossPay(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetEmpGrossPay(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetTotalOPI(string oPIItem, DateTime _SalaryMonth, string sEmpID)
          {
              DataSet oTotalOPI = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oTotalOPI = MiscellaneousDatasetDA.GetTotalOPI(tc, oPIItem, _SalaryMonth, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oTotalOPI;
          }

          public DataSet GetTotalOPIForBranch(string oPIItem, DateTime _SalaryMonth, string sEmpID)
          {
              DataSet oTotalOPI = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oTotalOPI = MiscellaneousDatasetDA.GetTotalOPIForBranch(tc, oPIItem, _SalaryMonth, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oTotalOPI;
          }

          public DataSet GetEmpDeduction(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetEmpDeduction(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetBranchWiseSalary(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetBranchWiseSalary(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetBranchWiseSalaryDetails(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetBranchWiseSalaryDetails(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetTotalBranchWiseOPI(string str, DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetTotalBranchWiseOPI(tc, str, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetBranchWiseEmpDeduction(DateTime _SalaryMonth, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetBranchWiseEmpDeduction(tc, _SalaryMonth, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetCCWiseSalaryDetails(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetCCWiseSalaryDetails(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetDividionWiseReport(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetDividionWiseReport(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetCTCDetail(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetCTCDetail(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetIncrement(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetIncrement(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetADHeadReport(DateTime dSMonthDate, string checkItem, string itemCode)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetADHeadReport(tc, dSMonthDate, checkItem, itemCode);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetOPIHeadReport(DateTime dSMonthDate, string checkItem)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetOPIHeadReport(tc, dSMonthDate, checkItem);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetCCWiseFinance(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetCCWiseFinance(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetNewCCWiseSalaryDetails(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetNewCCWiseSalaryDetails(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetCCWiseOPIDetails(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetCCWiseOPIDetails(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetCCWiseSummary(DateTime dSMonthDate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetCCWiseSummary(tc, dSMonthDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          

          public DataSet GetEmpIndSalarySheet(string sEmpID, string _months)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetEmpIndSalarySheet(tc, sEmpID, _months);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetPFLedger(string sEmpID, DateTime FromDate, DateTime toDate)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetPFLedger(tc, sEmpID, FromDate, toDate);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet PrintEnvelop(string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.PrintEnvelop(tc, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetSalarySheet(string sEmpID, DateTime _SalaryMonth, DateTime toDate)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetSalarySheet(tc, sEmpID, _SalaryMonth, toDate);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetSalaryData(string sEmpID, DateTime _SalaryMonth, DateTime toDate)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetSalaryData(tc, sEmpID, _SalaryMonth, toDate);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetEmpsFiscalYeartax(string sEmpIDs, DateTime fromdate, DateTime toDate, int taxParamID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetEmpsFiscalYeartax(tc, sEmpIDs, fromdate, toDate, taxParamID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetEmpstaxInvestment(string sEmpIDs, int taxParamID)
          {
              DataSet oTaxInvestment = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oTaxInvestment = MiscellaneousDatasetDA.GetEmpstaxInvestment(tc, sEmpIDs, taxParamID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oTaxInvestment;
          }

          public DataSet GetEmpstaxChallan(string sEmpIDs, int taxParamId)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetEmpstaxChallan(tc, sEmpIDs, taxParamId);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetEmployeesMasterData(DateTime Fromdate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetEmployeesMasterData(tc, Fromdate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetEmployeesPF(DateTime dateTime, string sUnitID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetEmployeesPF(tc, dateTime, sUnitID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetMonthlySalaryRevision(DateTime fromDate, DateTime toDate)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetMonthlySalaryRevision(tc, fromDate, toDate);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetStuffListWithoutSalary(DateTime fromdate, string sEmpID)
          {
              DataSet oGrossPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrossPay = MiscellaneousDatasetDA.GetStuffListWithoutSalary(tc, fromdate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrossPay;
          }

          public DataSet GetEmployeesPF(DateTime dateTime)
          {
              DataSet oEmployeesPF = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oEmployeesPF = MiscellaneousDatasetDA.GetEmployeesPF(tc, dateTime);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oEmployeesPF;
          }

          public DataSet GetEmployeesPF(DateTime Fromdate, DateTime Todate)
          {
              DataSet oEmployeesPF = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oEmployeesPF = MiscellaneousDatasetDA.GetEmployeesPF(tc, Fromdate, Todate);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oEmployeesPF;
          }

          public DataSet GetSalarySummaryData(DateTime dateTime)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetSalarySummaryData(tc, dateTime);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetSalaryComparisonData(DateTime _SalaryMonth, string sEmpID)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetSalaryComparisonData(tc, _SalaryMonth, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetEmpExperience(int empid)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetEmpExperience(tc, empid);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetStaggingData()
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetStaggingData(tc);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetEmpsAuditReport(DateTime _SalaryMonth, string sEmpID)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetEmpsAuditReport(tc, _SalaryMonth, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetSalaryRegister(DateTime PayrollFirstDateOfMonth, DateTime PayrollLastDateOfMonth,
              string sEmpIDs, int payrolltypeid)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetSalaryRegister(tc, PayrollFirstDateOfMonth,
                      PayrollLastDateOfMonth, sEmpIDs, payrolltypeid);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetSalaryCertificateData(int EmpID, int bankID)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetSalaryCertificateData(tc, EmpID, bankID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetSalaryCertificateDataforOtherBank(int EmpID, int bankID)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetSalaryCertificateDataforOtherBank(tc, EmpID, bankID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetExceptionEmployeesPF(DateTime fromdate, DateTime todate)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetExceptionEmployeesPF(tc, fromdate, todate);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetGrandFatherData(int payrolltypeid)
          {
              DataSet oGrandFatherInfo = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oGrandFatherInfo = MiscellaneousDatasetDA.GetGrandFatherData(tc, payrolltypeid);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oGrandFatherInfo;
          }

          public DataSet GetEmpArrearBankAdvice(string sEmpID, string itemType, int processID, int branchID)
          {
              DataSet oNetPay = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oNetPay = MiscellaneousDatasetDA.GetEmpArrearBankAdvice(tc, sEmpID, itemType, processID, branchID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oNetPay;
          }

          public DataSet GetEmpArrerSlipGross(string sEmpID, string itemType, int processID)
          {
              DataSet oArrearSlip = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oArrearSlip = MiscellaneousDatasetDA.GetEmpArrerSlipGross(tc, sEmpID, itemType, processID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oArrearSlip;
          }

          public DataSet GetArrearSlipDeduct(string sEmpID, string itemType, int processID)
          {
              DataSet oArrearSlip = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oArrearSlip = MiscellaneousDatasetDA.GetArrearSlipDeduct(tc, sEmpID, itemType, processID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oArrearSlip;
          }

          public DataSet GetEmpArrerSheet(string sEmpID, string itemType, int arrPrcssID)
          {
              DataSet oArrearSheet = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oArrearSheet = MiscellaneousDatasetDA.GetEmpArrerSheet(tc, sEmpID, itemType, arrPrcssID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oArrearSheet;
          }

          public DataSet GetEmpJoiningInsuranceData(DateTime fromDate, DateTime toDate, int payrolltypeid)
          {
              DataSet oInsuranceSheet = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oInsuranceSheet =
                      MiscellaneousDatasetDA.GetEmpJoiningInsuranceData(tc, fromDate, toDate, payrolltypeid);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oInsuranceSheet;
          }

          public DataSet GetEmpPromotionInsuranceData(DateTime fromDate, DateTime toDate, int payrolltypeid)
          {
              DataSet oInsuranceSheet = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oInsuranceSheet =
                      MiscellaneousDatasetDA.GetEmpPromotionInsuranceData(tc, fromDate, toDate, payrolltypeid);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oInsuranceSheet;
          }

          public DataSet GetEmpDisConInsuranceData(DateTime fromDate, DateTime toDate, int payrolltypeid)
          {
              DataSet oInsuranceSheet = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oInsuranceSheet = MiscellaneousDatasetDA.GetEmpDisConInsuranceData(tc, fromDate, toDate, payrolltypeid);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oInsuranceSheet;
          }


          public DataSet GetEmpArrerSlipGross(DateTime arrearMonth, string sEmpID, string itemType)
          {
              DataSet oArrearSheet = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oArrearSheet = MiscellaneousDatasetDA.GetEmpArrerSlipGross(tc, arrearMonth, sEmpID, itemType);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oArrearSheet;
          }

          public DataSet GetCashPaymentSummaryData(DateTime fromdate)
          {
              DataSet oSalarySummary = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oSalarySummary = MiscellaneousDatasetDA.GetCashPaymentSummaryData(tc, fromdate);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oSalarySummary;
          }

          public DataSet GetArrearSlipDeduct(DateTime arrearMonth, string sEmpID, string itemType)
          {
              DataSet oArrearSheet = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oArrearSheet = MiscellaneousDatasetDA.GetArrearSlipDeduct(tc, arrearMonth, sEmpID, itemType);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oArrearSheet;
          }

          public DataSet GetExpensesPaySlipData(DateTime fromdate, DateTime toDate, string sEmpID)
          {
              DataSet oExpensesPaySlipData = new DataSet();

              TransactionContext tc = null;
              try
              {
                  tc = TransactionContext.Begin();
                  oExpensesPaySlipData = MiscellaneousDatasetDA.GetExpensesPaySlipData(tc, fromdate, toDate, sEmpID);
                  tc.End();
              }
              catch (Exception e)
              {
                  #region Handle Exception

                  if (tc != null)
                      tc.HandleError();
                  ExceptionLog.Write(e);
                  throw new ServiceException(e.Message, e);

                  #endregion
              }

              return oExpensesPaySlipData;
          }

          #endregion

          protected override T CreateObject<T>(DataReader dr)
          {
              throw new NotImplementedException();
          }*/
    }
}