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
{
    public class MinTaxException : BasicBaseObject
    {
        #region Constructor
        public MinTaxException()
        {

        }
        #endregion

        #region properties

        #region EmployeeID
        private int _employeeID;
        public int EmployeeID
        {
            get { return _employeeID; }
            set { _employeeID = value; }
        }
        #endregion

        #region TaxParamID
        private int _taxParamID;
        public int TaxParamID
        {
            get { return _taxParamID; }
            set { _taxParamID = value; }
        }
        #endregion

        #region Amount
        private double _amount;
        public double Amount
        {
            get { return _amount; }
            set { _amount = value; }
        }
        #endregion

        #region TaxExceptionType
        private EnumMinimumTaxType _taxExceptionType;
        public EnumMinimumTaxType TaxExceptionType
        {
            get { return _taxExceptionType; }
            set { _taxExceptionType = value; }
        }
        #endregion

        #endregion

        //#region Functions

        //public static List<MinTaxException> Get()
        //{
        //    #region Cache Header
        //    List<MinTaxException> minTaxExceptions = _cache["Get"] as List<MinTaxException>;
        //    if (minTaxExceptions != null)
        //        return minTaxExceptions;
        //    #endregion
        //    try
        //    {
        //        minTaxExceptions = Service.Get();
        //    }
        //    catch (ServiceException e)
        //    {
        //        throw new Exception(e.Message, e);
        //    }
        //    #region Cache Footer
        //    _cache.Add(minTaxExceptions, "Get");
        //    #endregion
        //    return minTaxExceptions;
        //}

        //public static MinTaxException Get(int employeeID)
        //{
        //    #region Cache Header
        //    MinTaxException minTaxException = _cache["Get", employeeID] as MinTaxException;
        //    if (minTaxException != null)
        //        return minTaxException;
        //    #endregion
        //    try
        //    {
        //        minTaxException = Service.Get(employeeID);
        //    }
        //    catch (ServiceException e)
        //    {
        //        throw new Exception(e.Message, e);
        //    }
        //    #region Cache Footer
        //    _cache.Add(minTaxException, "Get", employeeID);
        //    #endregion
        //    return minTaxException;
        //}

        //public void Save(List<MinTaxException> minTaxExceptions)
        //{
        //    this.SetAuditTrailProperties();
        //    MinTaxException.Service.Save(minTaxExceptions);
        //}

        //public void Delete(int id)
        //{
        //    MinTaxException.Service.Delete(id);
        //}

        //#endregion

        //#region Service Factory
        //internal static IMinTaxExceptionService Service
        //{
        //    get { return Services.Factory.CreateService<IMinTaxExceptionService>(typeof(IMinTaxExceptionService)); }
        //}
        //#endregion
    }

    public interface IMinTaxExceptionService
    {
        List<MinTaxException> Get();
        MinTaxException Get(int empId);
        void Save(List<MinTaxException> minTaxExceptions);
        void Delete(int id);
    }
}