using Ease.Core.Model;


using System;
using System.Collections.Generic;
using System.Data;
using System.IO;

namespace HRM.BO
{
    #region SearchEmployeeGroup
    public class SearchEmployeeGroup:AuditTrailBase
    {
        #region Constructor

        public SearchEmployeeGroup()
        {
            _groupID = 0;
            _groupCode = string.Empty;
            _description = string.Empty;
            _groupBy = 0;
        }

        #endregion

        #region Properties

        #region GroupID : ID

        private int _groupID;
        public int GroupID
        {
            get { return _groupID; }
            set
            {
                
                _groupID = value;
            }
        }

        #endregion

        #region groupCode : string

        private string _groupCode;
        public string GroupCode
        {
            get { return _groupCode; }
            set
            {
                
                _groupCode = value;
            }
        }

        #endregion

        #region description : string

        private string _description;
        public string Description
        {
            get { return _description; }
            set
            {
                
                _description = value;
            }
        }

        #endregion

        #region groupBy : EnumSearchEmployeeGroup

        private EnumSearchEmployeeGroup _groupBy;
        public EnumSearchEmployeeGroup GroupBy
        {
            get { return _groupBy; }
            set
            {
                
                _groupBy = value;
            }
        }

        #endregion

        #region Service Factory ISearchEmployeeGroupService : ISearchEmployeeGroupService

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

        #endregion

        #endregion

        //#region Functions

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

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

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

        //    #endregion

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

        //    #region Cache Footer

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

        //    #endregion

        //    return searchEmployeeGroups;
        //}
        //public int Save()
        //{
        //    return SearchEmployeeGroup.Service.Save(this);
        //}
        //public void Delete()
        //{
        //    SearchEmployeeGroup.Service.Delete(ID);
        //}
        //#endregion

    }
    #endregion

    #region ISearchEmployeeGroup Service

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

    #endregion
}