using System;
using System.Collections.Generic;
using System.Linq;


namespace HRM.BO
{
    public class ArrearProcessDetailItem : UpdateAuditTrail
    {
        #region Constructor

        public ArrearProcessDetailItem()
        {
            _iArrearProcessDetailID = 0;
            _eItemType = enumPayrollComponentType.Allowance;
            _iItemID = 0;
            _eSide = EnumArearTranSide.None;
            _sDescription = string.Empty;
            _dCalculatedAmount = 0.0;
            _dChangedAmount = 0.0;
            _iSeriialNo = 0;
            _isUploaded = false;
        }

        #endregion

        #region Properties

        #region ArrearProcessDetailID : ID

        private int _iArrearProcessDetailID;

        public int ArrearProcessDetailID
        {
            get { return _iArrearProcessDetailID; }
            set { _iArrearProcessDetailID = value; }
        }

        #endregion

        #region ItemType : EnumArearProcessItemType

        private enumPayrollComponentType _eItemType;

        public enumPayrollComponentType ItemType
        {
            get { return _eItemType; }
            set { _eItemType = value; }
        }

        #endregion

        #region ItemID : int

        private int _iItemID;

        public int ItemID
        {
            get { return _iItemID; }
            set { _iItemID = value; }
        }

        private int _tempEmpID;

        public int TempEmpID
        {
            get { return _tempEmpID; }
            set { _tempEmpID = value; }
        }

        private int _supportID;

        public int SupportID
        {
            get { return _supportID; }
            set { _supportID = value; }
        }

        #endregion

        #region Side : EnumArearTranSide

        private EnumArearTranSide _eSide;

        public EnumArearTranSide Side
        {
            get { return _eSide; }
            set { _eSide = value; }
        }

        #endregion

        #region Description : string

        private string _sDescription;

        public string Description
        {
            get { return _sDescription; }
            set { _sDescription = value; }
        }

        #endregion

        #region CalculatedAmount : double

        private double _dCalculatedAmount;

        public double CalculatedAmount
        {
            get { return _dCalculatedAmount; }
            set { _dCalculatedAmount = value; }
        }

        #endregion

        #region ChangedAmount : double

        private double _dChangedAmount;

        public double ChangedAmount
        {
            get { return _dChangedAmount; }
            set { _dChangedAmount = value; }
        }

        #endregion

        #region SeriialNo : int

        private int _iSeriialNo;

        public int SeriialNo
        {
            get { return _iSeriialNo; }
            set { _iSeriialNo = value; }
        }

        #endregion

        #region bool : IsUploaded

        private bool _isUploaded;

        public bool IsUploaded
        {
            get { return _isUploaded; }
            set { _isUploaded = value; }
        }

        #endregion

        public List<ArrearProcessDetailItemMonthly> ArrearProcessDetailItemMonthlys { get; set; }

        //#region  ArrearProcessDetailItemMonthlys : List<ArrearProcessDetailItemMonthly>

        //private List<ArrearProcessDetailItemMonthly> _oArrearProcessDetailItemMonthlys;
        //public List<ArrearProcessDetailItemMonthly> ArrearProcessDetailItemMonthlys
        //{
        //    get
        //    {
        //        if (this.int != null && _oArrearProcessDetailItemMonthlys == null)
        //        {
        //            _oArrearProcessDetailItemMonthlys = ArrearProcess.Service.GetArrearProcessDetailItemMonthlys(this.ID);
        //        }
        //        return _oArrearProcessDetailItemMonthlys;
        //    }
        //    set { _oArrearProcessDetailItemMonthlys = value; }
        //}


        //#endregion

        #endregion
    }
}