using Marco.Pms.Model.Dtos.Attendance; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Utilities; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; using System.ComponentModel.DataAnnotations.Schema; namespace Marco.Pms.Model.AttendanceModule { public class Attendance : TenantRelation { public Guid Id { get; set; } public string Comment { get; set; } = string.Empty; public Guid EmployeeId { get; set; } [ForeignKey("EmployeeId")] [ValidateNever] public Employee? Employee { get; set; } public DateTime Date { get; set; } public Guid ProjectID { get; set; } public DateTime AttendanceDate { get; set; } public DateTime? RequestedAt { get; set; } public DateTime? ApprovedAt { get; set; } public DateTime? InTime { get; set; } public DateTime? OutTime { get; set; } public bool IsApproved { get; set; } public ATTENDANCE_MARK_TYPE Activity { get; set; } public Guid? ApprovedById { get; set; } [ForeignKey("ApprovedById")] [ValidateNever] public Employee? Approver { get; set; } public Guid? RequestedById { get; set; } [ForeignKey("RequestedById")] [ValidateNever] public Employee? RequestedBy { get; set; } } }