using System; using System.Data; using System.Linq; using Ease.CoreV35; using Ease.CoreV35.Model; using Ease.CoreV35.DataAccess; using System.Collections.Generic; using Payroll.BO; using Ease.CoreV35.Caching; namespace Payroll.Service { #region CarFuelProcess Service [Serializable] public class CarFuelProcessService : ServiceTemplate, ICarFuelProcessService { #region Private functions and declaration Cache _cache = new Cache(typeof(CarFuelProcess)); public CarFuelProcessService() { } #region CarFuelProcess private void MapObject(CarFuelProcess oCarFuelProcess, DataReader oReader) { base.SetObjectID(oCarFuelProcess, oReader.GetID("CarFuelProcessID")); oCarFuelProcess.CarFuelMonth = oReader.GetDateTime("CarFuelMonth").Value; oCarFuelProcess.ProcessDate = oReader.GetDateTime("ProcessDate").Value; oCarFuelProcess.CreatedBy = oReader.GetID("CreatedBy"); oCarFuelProcess.CreatedDate = oReader.GetDateTime("CreationDate").Value; oCarFuelProcess.ModifiedBy = oReader.GetID("ModifiedBy"); oCarFuelProcess.ModifiedDate = oReader.GetDateTime("ModifiedDate"); oCarFuelProcess.IsApproved = oReader.GetBoolean("IsApproved").Value; this.SetObjectState(oCarFuelProcess, Ease.CoreV35.ObjectState.Saved); } protected override T CreateObject(DataReader oReader) { CarFuelProcess oCarFuelProcess = new CarFuelProcess(); MapObject(oCarFuelProcess, oReader); return oCarFuelProcess as T; } protected CarFuelProcess CreateObject(DataReader oReader) { CarFuelProcess oCarFuelProcess = new CarFuelProcess(); MapObject(oCarFuelProcess, oReader); return oCarFuelProcess; } #endregion #region CarFuelProcessDetail private void MapProcessDetailObject(CarFuelProcessDetail oProcessDetail, DataReader oReader) { base.SetObjectID(oProcessDetail, oReader.GetID("CarFuelProcessDetailID")); oProcessDetail.AccountNo = oReader.GetString("AccountNo"); oProcessDetail.BankID = oReader.GetID("BankID"); oProcessDetail.BranchID = oReader.GetID("BranchID"); oProcessDetail.CategoryID = oReader.GetID("CategoryID"); oProcessDetail.DepartmentID = oReader.GetID("DepartmentID"); oProcessDetail.DesignationID = oReader.GetID("DesignationID"); oProcessDetail.EmployeeID = oReader.GetID("EmployeeID"); oProcessDetail.Gender = (EnumGender)oReader.GetInt32("Gender"); oProcessDetail.GradeID = oReader.GetID("GradeID"); oProcessDetail.IsConfirmed = oReader.GetBoolean("IsConfirmed").Value; oProcessDetail.IsFinalize = oReader.GetBoolean("IsFinalize").Value; oProcessDetail.LocationID = oReader.GetID("LocationID"); oProcessDetail.CarFuelProcessID = oReader.GetID("CarFuelProcessID"); oProcessDetail.PayrollTypeID = oReader.GetID("PayrollTypeID"); oProcessDetail.PFMemberType = (EnumPFMembershipType)oReader.GetInt32("PFMemberType"); oProcessDetail.ReligionID = oReader.GetID("ReligionID"); oProcessDetail.Remarks = oReader.GetString("Remarks"); this.SetObjectState(oProcessDetail, Ease.CoreV35.ObjectState.Saved); } protected ObjectsTemplate CreateProcessDetailObject(DataReader oReader) { ObjectsTemplate oProcessDetails = new ObjectsTemplate(); while (oReader.Read()) { CarFuelProcessDetail oProcessDetail = new CarFuelProcessDetail(); MapProcessDetailObject(oProcessDetail, oReader); oProcessDetails.Add(oProcessDetail); } return oProcessDetails; } #endregion #region CarFuelProcessDetailItem private void MapProcessDetailItemObject(CarFuelProcessDetailItem oCarFuelProcessDetailItem, DataReader oReader) { base.SetObjectID(oCarFuelProcessDetailItem, oReader.GetID("CarFuelProcessDetailItemID")); oCarFuelProcessDetailItem.ChangeNetAmount = oReader.GetDouble("ChangeNetAmount").Value; oCarFuelProcessDetailItem.Description = oReader.GetString("Description"); oCarFuelProcessDetailItem.NetAmount = oReader.GetDouble("NetAmount").Value; oCarFuelProcessDetailItem.TaxAmount = oReader.GetDouble("TaxAmount").Value; oCarFuelProcessDetailItem.CarFuelItemID = oReader.GetID("CarFuelItemID"); oCarFuelProcessDetailItem.CarFuelProcessDetailID = oReader.GetID("CarFuelProcessDetailID"); oCarFuelProcessDetailItem.CarFuelType = (EnumCarFuelType)oReader.GetInt32("CarFuelType").Value; oCarFuelProcessDetailItem.CreatedBy = oReader.GetID("CreatedBy"); oCarFuelProcessDetailItem.CreatedDate = oReader.GetDateTime("CreationDate").Value; oCarFuelProcessDetailItem.ModifiedBy = oReader.GetID("ModifiedBy"); oCarFuelProcessDetailItem.ModifiedDate = oReader.GetDateTime("ModifiedDate"); this.SetObjectState(oCarFuelProcessDetailItem, Ease.CoreV35.ObjectState.Saved); } protected ObjectsTemplate CreateProcessDetailItemObject(DataReader oReader) { ObjectsTemplate oProcessDetailItems = new ObjectsTemplate(); while (oReader.Read()) { CarFuelProcessDetailItem oProcessDetailItem = new CarFuelProcessDetailItem(); MapProcessDetailItemObject(oProcessDetailItem, oReader); oProcessDetailItems.Add(oProcessDetailItem); } return oProcessDetailItems; } #endregion #endregion #region Service implementation public CarFuelProcess Get(ID id, int payrollTypeID) { CarFuelProcess oCarFuelProcess = new CarFuelProcess(); #region Cache Header oCarFuelProcess = (CarFuelProcess)_cache["Get", id] as CarFuelProcess; if (oCarFuelProcess != null) return oCarFuelProcess; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader oReader = new DataReader(CarFuelProcessDA.Get(tc, id, payrollTypeID)); if (oReader.Read()) { oCarFuelProcess = this.CreateObject(oReader); } oReader.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oCarFuelProcess, "Get", id); #endregion return oCarFuelProcess; } public CarFuelProcess Get(DateTime fromdate, ID empiD) { CarFuelProcess oCarFuelProcess = new CarFuelProcess(); #region Cache Header oCarFuelProcess = (CarFuelProcess)_cache["Get", fromdate, empiD] as CarFuelProcess; if (oCarFuelProcess != null) return oCarFuelProcess; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader oReader = new DataReader(CarFuelProcessDA.Get(tc, fromdate, empiD)); if (oReader.Read()) { oCarFuelProcess = this.CreateObject(oReader); } oReader.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oCarFuelProcess, "Get", fromdate, empiD); #endregion return oCarFuelProcess; } public ObjectsTemplate Get(int payrollTypeID) { #region Cache Header ObjectsTemplate oCarFuelProcesss = _cache["Get"] as ObjectsTemplate; if (oCarFuelProcesss != null) return oCarFuelProcesss; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader oreader = new DataReader(CarFuelProcessDA.Get(tc, payrollTypeID)); oCarFuelProcesss = this.CreateObjects(oreader); oreader.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oCarFuelProcesss, "Get"); #endregion return oCarFuelProcesss; } public ObjectsTemplate Get(DateTime dCarFuelMonth, int payrollTypeID) { #region Cache Header ObjectsTemplate oProcesss = _cache["Get", dCarFuelMonth] as ObjectsTemplate; if (oProcesss != null) return oProcesss; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(CarFuelProcessDA.Get(tc, dCarFuelMonth, payrollTypeID)); oProcesss = this.CreateObjects(dr); dr.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oProcesss, "Get", dCarFuelMonth); #endregion return oProcesss; } public ObjectsTemplate GetProcessDetails(ID CarFuelProcessID, int payrollTypeID) { #region Cache Header ObjectsTemplate oProcessDetails = _cache["GetProcessDetails", CarFuelProcessID] as ObjectsTemplate; if (oProcessDetails != null) return oProcessDetails; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(CarFuelProcessDA.GetProcessDetails(tc, CarFuelProcessID, payrollTypeID)); oProcessDetails = this.CreateProcessDetailObject(dr); dr.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oProcessDetails, "GetProcessDetails", CarFuelProcessID); #endregion return oProcessDetails; } public ObjectsTemplate GetDetail(DateTime processMonth) { #region Cache Header ObjectsTemplate oProcessDetails = _cache["GetDetail", processMonth] as ObjectsTemplate; if (oProcessDetails != null) return oProcessDetails; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(CarFuelProcessDA.GetDetail(tc, processMonth)); oProcessDetails = this.CreateProcessDetailObject(dr); dr.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oProcessDetails, "GetDetail", processMonth); #endregion return oProcessDetails; } public CarFuelProcessDetail GetDetail(ID employeeID, DateTime processMonth, int payrollTypeID) { ObjectsTemplate oDetails = null; TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader oReader = new DataReader(CarFuelProcessDA.GetDetails(tc, employeeID, processMonth, payrollTypeID)); oDetails = this.CreateProcessDetailObject(oReader); oReader.Close(); tc.End(); foreach (CarFuelProcessDetail oDetail in oDetails) { ObjectsTemplate oItems = new ObjectsTemplate(); oItems = GetProcessDetailItems(oDetail.ID, payrollTypeID); oDetail.CarFuelProcessDetailItems = oItems; } } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } if (oDetails.Count > 0) return oDetails[0]; else return null; } public DataSet GetCarFuelRegister(string sCarFuelItemID, DateTime dCarFuelMonth, DateTime dCarFuelMonth2, string sEmpID) { DataSet oCarFuelRegisters = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); oCarFuelRegisters = CarFuelProcessDA.GetCarFuelRegister(tc, sCarFuelItemID, dCarFuelMonth, dCarFuelMonth2, 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 oCarFuelRegisters; } public ObjectsTemplate GetProcessDetails(DateTime processMonth, int payrollTypeID) { ObjectsTemplate oProcessDetails; TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(CarFuelProcessDA.GetProcessDetails(tc, processMonth, payrollTypeID)); oProcessDetails = this.CreateProcessDetailObject(dr); dr.Close(); DataReader drItems = new DataReader(CarFuelProcessDA.GetProcessDetailsItems(tc, processMonth, payrollTypeID)); ObjectsTemplate detialItems = this.CreateProcessDetailItemObject(drItems); dr.Close(); int check = 0; foreach (CarFuelProcessDetail pro in oProcessDetails) { check = 0; foreach (CarFuelProcessDetailItem detail in detialItems) { if (pro.ID.Integer == detail.CarFuelProcessDetailID.Integer) { pro.CarFuelProcessDetailItems.Add(detail); //check = 1; } // else // { // if (check == 1) break; // } } } tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } return oProcessDetails; } public ObjectsTemplate GetProcessDetailWithItems(ID CarFuelProcessID, int payrollTypeID) { #region Cache Header ObjectsTemplate oProcessDetails = _cache["GetProcessDetails", CarFuelProcessID] as ObjectsTemplate; if (oProcessDetails != null) return oProcessDetails; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(CarFuelProcessDA.GetProcessDetails(tc, CarFuelProcessID, payrollTypeID)); oProcessDetails = this.CreateProcessDetailObject(dr); dr.Close(); tc.End(); foreach (CarFuelProcessDetail oDetail in oProcessDetails) { ObjectsTemplate oItems = new ObjectsTemplate(); oItems = GetProcessDetailItems(oDetail.ID, payrollTypeID); oDetail.CarFuelProcessDetailItems = oItems; } } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oProcessDetails, "GetProcessDetails", CarFuelProcessID); #endregion return oProcessDetails; } public ObjectsTemplate GetProcessDetailItems(ID nProcessDetailID, int payrollTypeID) { #region Cache Header ObjectsTemplate oProcessDetailItems = _cache["GetProcessDetailItems", nProcessDetailID] as ObjectsTemplate; if (oProcessDetailItems != null) return oProcessDetailItems; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(CarFuelProcessDA.GetProcessDetailItems(tc, nProcessDetailID, payrollTypeID)); oProcessDetailItems = this.CreateProcessDetailItemObject(dr); dr.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oProcessDetailItems, "GetProcessDetailItems", nProcessDetailID); #endregion return oProcessDetailItems; } public ObjectsTemplate GetCarFuelProcessItems(DateTime dateTime, int payrollTypeID) { #region Cache Header ObjectsTemplate oProcessDetailItems = _cache["GetCarFuelProcessItems", dateTime] as ObjectsTemplate; if (oProcessDetailItems != null) return oProcessDetailItems; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(CarFuelProcessDA.GetProcessDetailsItems(tc, dateTime, payrollTypeID)); oProcessDetailItems = this.CreateProcessDetailItemObject(dr); dr.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oProcessDetailItems, "GetCarFuelProcessItems", dateTime); #endregion return oProcessDetailItems; } public double GetProvisionAmountByEmpID(ID nEmpID) { double nAmount = 0; TransactionContext tc = null; try { tc = TransactionContext.Begin(true); nAmount = CarFuelProcessDA.GetProvisionAmountByEmpID(tc, nEmpID); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } return nAmount; } public double GetPrevMonthAmount(ID nEmpID, ID nCarFuelItemID, DateTime dFromCarFuelMonth, DateTime dToCarFuelMonth) { double nAmount = 0; TransactionContext tc = null; try { tc = TransactionContext.Begin(true); nAmount = CarFuelProcessDA.GetPrevMonthAmount(tc, nEmpID, nCarFuelItemID, dFromCarFuelMonth, dToCarFuelMonth); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } return nAmount; } public DataSet GetDataSetOfCarFuelRegister(string sSearch) { DataSet dsCarFuelRegister = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(true); dsCarFuelRegister = CarFuelProcessDA.GetDataSetOfCarFuelRegister(tc, sSearch); tc.End(); } catch (Exception e) { throw new ServiceException("Failed to get CarFuel Register data due to " + e.Message); } return dsCarFuelRegister; } public DataSet GetCarFuelRegister(string sCarFuelItemID, DateTime dCarFuelMonth, string sEmpID) { DataSet oCarFuelRegisters = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); oCarFuelRegisters = CarFuelProcessDA.GetCarFuelRegister(tc, sCarFuelItemID, dCarFuelMonth, 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 oCarFuelRegisters; } public DataSet GetIDLCCarFuelRegister(DateTime dCarFuelMonth, string sEmpID) { DataSet oCarFuelRegisters = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); oCarFuelRegisters = CarFuelProcessDA.GetIDLCCarFuelRegister(tc, dCarFuelMonth, 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 oCarFuelRegisters; } public DataSet GetDetailOtherPayrollItems(string sCarFuelItemID, DateTime dCarFuelMonth, string sEmpID) { DataSet oCarFuelRegisters = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); oCarFuelRegisters = CarFuelProcessDA.GetDetailOtherPayrollItems(tc, sCarFuelItemID, dCarFuelMonth, 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 oCarFuelRegisters; } public DataSet GetCarFuelTotalValueRegister(DateTime dFromCarFuelMonth, DateTime dToCarFuelMonth, int nCarFuelItemID, string sEmpID) { DataSet oCarFuelRegisters = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); oCarFuelRegisters = CarFuelProcessDA.GetCarFuelTotalValueRegister(tc, dFromCarFuelMonth, dToCarFuelMonth, nCarFuelItemID, 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 oCarFuelRegisters; } private void SaveProcessDetail(TransactionContext tc, CarFuelProcessDetail oPDetail, int payrollTypeID) { string tableName = "CarFuelProcessDetail"; try { //inserting CarFuelProcessDetail int id = tc.GenerateID("CarFuelProcessDetail", "CarFuelProcessDetailID"); int itemID = tc.GenerateID("CarFuelProcessDetailItem", "CarFuelProcessDetailItemID"); if (oPDetail.IsNew) { base.SetObjectID(oPDetail, ID.FromInteger(id)); oPDetail.CreatedBy = User.CurrentUser.ID; oPDetail.CreatedDate = DateTime.Now; oPDetail.DesignationID = oPDetail.Employee.DesignationID; CarFuelProcessDA.InsertProcessDetail(tc, oPDetail); } else { CarFuelProcessDA.UpdateProcessDetail(tc, oPDetail); CarFuelProcessDA.DeleteProcessDetailItem(tc, oPDetail.ID, payrollTypeID); } //inserting CarFuelProcessDetailItem tableName = "CarFuelProcessDetailItem"; foreach (CarFuelProcessDetailItem oPDItem in oPDetail.CarFuelProcessDetailItems) { oPDItem.CarFuelProcessDetailID = oPDetail.ID; base.SetObjectID(oPDItem, ID.FromInteger(itemID)); oPDItem.CreatedBy = User.CurrentUser.ID; oPDItem.CreatedDate = DateTime.Now; CarFuelProcessDA.InsertProcessDetailItem(tc, oPDItem); itemID++; } } catch (Exception e) { #region Handle Exception ExceptionLog.Write(e); string smessage = "Faliled to save CarFuel process (table:" + tableName + " for employee (" + oPDetail.Employee.EmployeeNo + " - " + oPDetail.Employee.Name + " ) due to :"; throw new ServiceException(smessage + e.Message, e); #endregion } } public ID Save(CarFuelProcess oProcess) { TransactionContext tc = null; try { tc = TransactionContext.Begin(true); if (oProcess.IsNew) { int id = tc.GenerateID("CarFuelProcess", "CarFuelProcessID"); base.SetObjectID(oProcess, ID.FromInteger(id)); CarFuelProcessDA.InsertProcess(tc, oProcess); } else { CarFuelProcessDA.UpdateProcess(tc, oProcess); } tc.End(); return oProcess.ID; } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } } public ID SaveProcess(TransactionContext tc, CarFuelProcess oCarFuelProcess) { string tableName = "CarFuelProcess"; try { if (oCarFuelProcess.IsNew) { int id = tc.GenerateID("CarFuelProcess", "CarFuelProcessID"); base.SetObjectID(oCarFuelProcess, ID.FromInteger(id)); CarFuelProcessDA.InsertProcess(tc, oCarFuelProcess); } else { CarFuelProcessDA.UpdateProcess(tc, oCarFuelProcess); } return oCarFuelProcess.ID; } catch (Exception e) { #region Handle Exception ExceptionLog.Write(e); string smessage = "Faliled to save CarFuel process (table:" + tableName + ") due to : "; throw new ServiceException(smessage + e.Message, e); #endregion } } public void Save(CarFuelProcess oProcess, ObjectsTemplate oPDetails, int payrollTypeID) { TransactionContext tc = null; try { tc = TransactionContext.Begin(true); ID processId = this.SaveProcess(tc, oProcess); foreach (CarFuelProcessDetail oPDetail in oPDetails) { oPDetail.CarFuelProcessID = processId; this.SaveProcessDetail(tc, oPDetail, payrollTypeID); } tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } } public void Delete(ID id, int payrollTypeID) { TransactionContext tc = null; try { tc = TransactionContext.Begin(true); CarFuelProcessDA.DeleteProcess(tc, id, payrollTypeID); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } } public void Undo(DateTime CarFuelMonth, int payrollTypeID) { TransactionContext tc = null; try { tc = TransactionContext.Begin(true); CarFuelProcessDA.Undo(tc, CarFuelMonth, payrollTypeID); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } } public void UpdateDetail(ObjectsTemplate oCarFuelDetails) { TransactionContext tc = null; try { tc = TransactionContext.Begin(true); foreach (CarFuelProcessDetailItem odetail in oCarFuelDetails) { CarFuelProcessDA.UpdateSalaryDetail(tc, odetail); } tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } } public ObjectsTemplate GetLastMonthItems(int nID, int payrollTypeID) { #region Cache Header ObjectsTemplate oProcessDetailItems = _cache["GetLastMonthItems", nID] as ObjectsTemplate; if (oProcessDetailItems != null) return oProcessDetailItems; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(CarFuelProcessDA.GetLastMonthItems(tc, nID, payrollTypeID)); oProcessDetailItems = this.CreateProcessDetailItemObject(dr); dr.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } #region Cache Footer _cache.Add(oProcessDetailItems, "GetLastMonthItems", nID); #endregion return oProcessDetailItems; } public DataSet GetEmpCarFuelPaySlip(DateTime dateTime, string sEmpID) { DataSet oCarFuelProcesses = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); oCarFuelProcesses = CarFuelProcessDA.GetEmpCarFuelPaySlip(tc, dateTime, 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 oCarFuelProcesses; } public DataSet GetItemWiseCarFuel(DateTime dFromCarFuelMonth, int CarFuelItemID, string sEmpID) { DataSet oCarFuelRegisters = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); oCarFuelRegisters = CarFuelProcessDA.GetItemWiseCarFuel(tc, dFromCarFuelMonth, CarFuelItemID, 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 oCarFuelRegisters; } public DataSet GetManagersCarFuel(DateTime dtFromCarFuel, DateTime dtToCarFuel, int CarFuelItemID, string sEmpID) { DataSet oCarFuelRegisters = new DataSet(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); oCarFuelRegisters = CarFuelProcessDA.GetManagersCarFuel(tc, dtFromCarFuel, dtToCarFuel, CarFuelItemID, 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 oCarFuelRegisters; } public DateTime? GetLastPaidCarFuelMonth(int nEmpID) { DateTime? dt; TransactionContext tc = null; try { tc = TransactionContext.Begin(); dt = CarFuelProcessDA.GetLastPaidCarFuelMonth(tc, nEmpID); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } return dt; } #endregion #region ICarFuelProcessService Members public ID UpdateOnlyProcess(CarFuelProcess oProcess) { TransactionContext tc = null; try { tc = TransactionContext.Begin(true); if (!oProcess.IsNew) { CarFuelProcessDA.UpdateProcess(tc, oProcess); } tc.End(); return oProcess.ID; } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } } #endregion } #endregion }