using System; using System.Collections.Generic; using System.Linq; using System.Text; using Ease.CoreV35; using Ease.CoreV35.Model; using Ease.CoreV35.Caching; using System.Data.Linq.Mapping; using System.Data; using Ease.CoreV35.DataAccess; namespace Payroll.BO { #region ESBProvision [Serializable] public class ESBProvision : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(ESBProvision)); #endregion #region Constructor public ESBProvision() { _employeeID = null; _processMonthDate = DateTime.MinValue; _salaryMonthlyID = null; _provision = 0.0; _provisionOne = 0.0; _userID = null; _provisionTwo = 0.0; } #endregion #region Properties #region EmployeeID : ID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region ProcessMonthDate : DateTime private DateTime _processMonthDate; public DateTime ProcessMonthDate { get { return _processMonthDate; } set { _processMonthDate = value; } } #endregion #region SalaryMonthlyID : ID private ID _salaryMonthlyID; public ID SalaryMonthlyID { get { return _salaryMonthlyID; } set { _salaryMonthlyID = value; } } #endregion #region UserID : ID private ID _userID; public ID UserID { get { return _userID; } set { _userID = value; } } #endregion #region Provision : Double private Double _provision; public Double Provision { get { return _provision; } set { _provision = value; } } #endregion #region ProvisionOne : Double private Double _provisionOne; public Double ProvisionOne { get { return _provisionOne; } set { _provisionOne = value; } } #endregion #region ProvisionTwo : Double private Double _provisionTwo; public Double ProvisionTwo { get { return _provisionTwo; } set { _provisionTwo = value; } } #endregion #region Service Factory IBranchService : IBranchService internal static IESBProvisionService Service { get { return Services.Factory.CreateService(typeof(IESBProvisionService)); } } #endregion #endregion #region Functions public static ESBProvision Get(ID nID) { ESBProvision oESBProvision = null; #region Cache Header oESBProvision = (ESBProvision)_cache["Get", nID]; if (oESBProvision != null) return oESBProvision; #endregion oESBProvision = ESBProvision.Service.Get(nID); #region Cache Footer _cache.Add(oESBProvision, "Get", nID); #endregion return oESBProvision; } public static ObjectsTemplate GetProvision(DateTime dFromDate, DateTime dToDate) { #region Cache Header ObjectsTemplate oESBProvision = _cache["GetProvision", dFromDate, dToDate] as ObjectsTemplate; if (oESBProvision != null) return oESBProvision; #endregion try { oESBProvision = Service.GetProvision(dFromDate, dToDate); } catch (ServiceException e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(oESBProvision, "GetProvision", dFromDate, dToDate); #endregion return oESBProvision; } public static ObjectsTemplate GetProvision(int EmployeeID,DateTime dFromDate, DateTime dToDate) { #region Cache Header ObjectsTemplate oESBProvision = _cache["GetProvision",EmployeeID, dFromDate, dToDate] as ObjectsTemplate; if (oESBProvision != null) return oESBProvision; #endregion try { oESBProvision = Service.GetProvision(EmployeeID,dFromDate, dToDate); } catch (ServiceException e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(oESBProvision, "GetProvision",EmployeeID, dFromDate, dToDate); #endregion return oESBProvision; } public static double GetOpeningBalance(int nEmpID, DateTime dFromDate) { double nAmount = 0.0; nAmount = ESBProvision.Service.GetOpeningBalance(nEmpID, dFromDate); return nAmount; } public static DataSet GetCumulativeProv(DateTime dSMonthDate) { DataSet ds = null; try { ds = Service.GetCumulativeProv(dSMonthDate); } catch (Exception e) { throw new Exception(e.Message, e); } return ds; } public ID Save() { return ESBProvision.Service.Save(this); } public ID Save(TransactionContext tc) { return ESBProvision.Service.Save(tc,this); } public void Delete(ID nEmpID,ID nSalaryMonthlyID) { ESBProvision.Service.Delete(nEmpID,nSalaryMonthlyID); } public static ObjectsTemplate GetProvision(string sEmpID, DateTime GratuityMonth) { #region Cache Header ObjectsTemplate oESBProvision = _cache["GetProvision", sEmpID, GratuityMonth] as ObjectsTemplate; if (oESBProvision != null) return oESBProvision; #endregion try { oESBProvision = Service.GetProvision(sEmpID, GratuityMonth); } catch (ServiceException e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(oESBProvision, "GetProvision", sEmpID, GratuityMonth); #endregion return oESBProvision; } #endregion } #endregion #region IBranch Service public interface IESBProvisionService { ESBProvision Get(ID id); ObjectsTemplate GetProvision(DateTime dFromDate, DateTime dToDate); ObjectsTemplate GetProvision(int EmployeeID, DateTime dFromDate, DateTime dToDate); DataSet GetCumulativeProv(DateTime dSMonthDate); ObjectsTemplate GetProvision(string sEmpID, DateTime GratuityMonth); double GetOpeningBalance(int nEmpID, DateTime dFromDate); ID Save(ESBProvision item); ID Save(TransactionContext tc, ESBProvision item); void Delete(ID nEmpID, ID nSalaryMonthlyID); } #endregion }