using System;
using HRM.BO;

namespace HRM.UI.MODELS
{
    public class DailyAttnProcessTModel : AuditTrailBase
    {
        public DailyAttnProcessTModel()
        {
            Location = new AttendanceLocationTModel();
            EmployeeNo = string.Empty;
            EmployeeName = string.Empty;
            AttnDate = DateTime.MinValue;
            InTime = null;
            OutTime = null;
            Comments = string.Empty;
            ShiftShortName = string.Empty;
            IsFromMobile = EnumIsFromMobile.None;
            Date = DateTime.MinValue;
            ActualInTime = null;
            ActualOutTime = null;
            Shift = string.Empty;
            ShiftID = null;
            Reason = string.Empty;
            EmpComments = string.Empty;
            LMComments = string.Empty;
            InTimeNearestAddress = string.Empty;
            OutTimeNearestAddress = string.Empty;
            MobileTeamAttnDescriptionString = string.Empty;
        }

		public int PKID { get; set; }
        public int EmployeeID { get; set; }
        public string EmployeeNo { get; set; }
        public string EmployeeName { get; set; }
        public DateTime AttnDate { get; set; }
        public DateTime? InTime { get; set; }
        public DateTime? OutTime { get; set; }
        public double ActualOT { get; set; }
        public double AppliedOT { get; set; }
        public EnumAttendanceType AttenType { get; set; }
        public EnumAttendanceType EmpAttenType { get; set; }
        public EnumWFAttnStatus WFStatus { get; set; }
        public string Comments { get; set; }
        public string ShiftShortName { get; set; }
        public EnumIsFromMobile IsFromMobile { get; set; }
        public AttendanceLocationTModel Location { get; set; }

        //for LM Approve DataTable
        public int DailyAttnProcessID { get; set; }
        public DateTime Date { get; set; }
        //public DateTime InTime { get; set; }
        //public DateTime OutTime { get; set; }
        public DateTime? ActualInTime { get; set; }
        public DateTime? ActualOutTime { get; set; }
        public EnumAttendanceType Status { get; set; }
        public EnumAttendanceType ActualStatus { get; set; }
        public string Shift { get; set; }
        public int? ShiftID { get; set; }
        public string Reason { get; set; }
        public string EmpComments { get; set; }
        public string LMComments { get; set; }
        public int LineManagerID { get; set; }
        public int LocationID { get; set; }
        public Employee Employee { get; set; }
        public string InTimeNearestAddress { get; set; }
        public string OutTimeNearestAddress { get; set; }
        public string MobileTeamAttnDescriptionString { get; set; }
    }
}