using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ease.Core;
using Ease.Core.Model;
using System.Data;



namespace HRM.BO
{
    #region TaxHeadAssignment

    public class TaxHeadAssignment : BasicBaseObject
    {
        #region Constructor

        public TaxHeadAssignment()
        {
            Description = string.Empty;
            DeductPercent = 0;
        }

        #endregion

        #region Properties
        public string Description { get; set; }
        public double DeductPercent { get; set; }

        //#region Service Factory ITaxHeadAssignmentService : ITaxHeadAssignmentService

        //internal static ITaxHeadAssignmentService Service
        //{
        //    get { return Services.Factory.CreateService<ITaxHeadAssignmentService>(typeof(ITaxHeadAssignmentService)); }
        //}

        //#endregion

        #endregion

        //#region Functions

        //public static TaxHeadAssignment Get(ID nID)
        //{
        //    TaxHeadAssignment oTaxHeadAssignment = null;
        //    #region Cache Header
        //    oTaxHeadAssignment = (TaxHeadAssignment)_cache["Get", nID];
        //    if (oTaxHeadAssignment != null)
        //        return oTaxHeadAssignment;
        //    #endregion
        //    oTaxHeadAssignment = TaxHeadAssignment.Service.Get(nID);
        //    #region Cache Footer
        //    _cache.Add(oTaxHeadAssignment, "Get", nID);
        //    #endregion
        //    return oTaxHeadAssignment;
        //}

        //public static List<TaxHeadAssignment> Get()
        //{
        //    #region Cache Header

        //    List<TaxHeadAssignment> taxHeadAssignments = _cache["Get"] as List<TaxHeadAssignment>;
        //    if (taxHeadAssignments != null)
        //        return taxHeadAssignments;

        //    #endregion

        //    try
        //    {
        //        taxHeadAssignments = Service.Get();
        //    }
        //    catch (ServiceException e)
        //    {
        //        throw new Exception(e.Message, e);
        //    }

        //    #region Cache Footer

        //    _cache.Add(taxHeadAssignments, "Get");

        //    #endregion

        //    return taxHeadAssignments;
        //}
        //public ID Save()
        //{
        //    this.SetAuditTrailProperties();
        //    return TaxHeadAssignment.Service.Save(this);
        //}
        //public void Delete()
        //{
        //    TaxHeadAssignment.Service.Delete(ID);
        //}
        //#endregion

    }
    #endregion

    #region ITaxHeadAssignment Service

    public interface ITaxHeadAssignmentService
    {
        TaxHeadAssignment Get(int id);
        List<TaxHeadAssignment> Get();
        int Save(TaxHeadAssignment item);
        void Delete(int id);
    }

    #endregion
}