using DurustHRv2API.Models.Models;
using DurustHRv2API.Models.References;
using DurustHRv2API.Models.Security;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DurustHRv2API.Models.AppsModel
[Table("EmployeeSchedule")]
public class EmployeeSchedule: UserEntity
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public long EmployeeScheduleId { get; set; }
public DateTime ScheduleDate { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public bool IsApproved { get; set; }
public DateTime? DateDenied { get; set; }
public string DeniedBy { get; set; }
public DateTime? DateApproved { get; set; }
public string ApprovedBy { get; set; }
public DateTime? DateCancelled { get; set; }
public string CancelledBy { get; set; }
public ICollection<EmployeeScheduleDetails> ScheduleDetails { get; set; }
public class EmployeeScheduleDetails : AuditableSoftDeleteEntity
public long EmployeeScheduleDetailsId { get; set; }
public long EmployeeScheduleId { get; set; }
[ForeignKey("refTimesheetReasonId")]
public int refTimesheetReasonId { get; set; }
public virtual refTimesheetReason Reasons { get; set; }
public string ApproverId { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public bool IsDenied { get; set; } = false;
public bool IsPending { get; set; } = false;
public bool IsApproved { get; set; } = false;
public bool IsCancelled { get; set; } = false;
public bool IsSegment { get; set; }
public string Comment { get; set; }
public string Attachment { get; set; }
public DateTime? DateSegmentAdded { get; set; }
public DateTime? DateSubmitted { get; set; }
public string SubmittedBy { get; set; }
public DateTime? DateDenied { get; set; }
public string DeniedBy { get; set; }
public DateTime? DateApproved { get; set; }
public string ApprovedBy { get; set; }
public DateTime? DateCancelled { get; set; }
public string CancelledBy { get; set; }