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

namespace HRM.BO
{
    [Serializable]
    public class EmployeeOutsideDuty : AuditTrailBase
    {
        public EmployeeOutsideDuty()
        {
        }

        public int EmployeeID { get; set; }
        public Employee Employee { get; set; }
        public DateTime EntryDate { get; set; }
        public DateTime StartDate { get; set; }
        public DateTime EndDate { get; set; }
        public string Comments { get; set; }
        /*public int ShiftID { get; set; }*/
        public int OutsideDutyID { get; set; }
        public OutsideDuty OutsideDuty { get; set; }
    }

    public class EmployeeOutsideDutyDetails : EmployeeOutsideDuty
    {
        public string EmployeeNo { get; set; }
        public string EmployeeName { get; set; }
    }

    public interface IEmployeeOutsideDutyService
    {
        EmployeeOutsideDuty Get(int id);
        List<EmployeeOutsideDuty> Get();
        List<EmployeeOutsideDuty> GetByEmpID(int empID);
        List<EmployeeOutsideDutyDetails> GetByEmpIdDetails(int empID);
        List<EmployeeOutsideDuty> Get(DateTime attnDate);
        int Save(EmployeeOutsideDuty item);
        void Delete(int id);
        bool IsOutsideDutyAvailable(DateTime startDate, DateTime endDate, int empID);
    }
}