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


namespace HRM.BO
{
    #region MonthEndProcess

    [Serializable]
    public class MonthEndProcess : AuditTrailBase
    {
        
        
        #region Constructor
        public MonthEndProcess()
        {
            ProjectID = 0;// Ease.CoreV35.Model.ID.FromInteger(FM.BO.Common.User.CurrentMasterParam.ID.Integer);
            Month = 0;
            Year = 0;
            PayrollFirstDateOfMonth = DateTime.MinValue;
            PayrollLastDateOfMonth = DateTime.MinValue;
        }
        #endregion

        #region properties
        #region Property ProjectID : ID
        
        public int ProjectID
        {
            get;set;
        }

        #endregion Property ProjectID : ID

        #region Property Month : int
        
        public int Month
        {
            get; set;
        }

        #endregion Property Month : int

        #region Property Year : int
        
        public int Year
        {
            get; set;
        }

        #endregion Property Year : int

        #region Property PayrollFirstDateOfMonth : DateTime
        
        public DateTime PayrollFirstDateOfMonth
        {
            get;
        }

        #endregion Property PayrollFirstDateOfMonth : DateTime

        #region Property PayrollLastDateOfMonth : DateTime
        
        public DateTime PayrollLastDateOfMonth
        {
            get;
        }

        #endregion Property PayrollLastDateOfMonth : DateTime	
	
        #endregion

        

        
    }

    #endregion

    public interface IMonthEndProcessService
    {
        void Save(MonthEndProcess monthEndProcess);
        void Delete(int monthEndProcessID);
        void UpdateDueMonthEnd(MonthEndProcess item);
        MonthEndProcess Get(int monthEndProcessID);
        DataTable GetTable();
        List<MonthEndProcess> Get();
        void Delete(int month, int year);
        List<MonthEndProcess> GetByProjectID(int projectID);
    }
}