using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.OrganizationModel; using Marco.Pms.Model.Roles; using Marco.Pms.Model.TenantModels; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; using System.ComponentModel.DataAnnotations.Schema; namespace Marco.Pms.Model.Employees { public class Employee { public Guid Id { get; set; } public string FirstName { get; set; } = string.Empty; public string? LastName { get; set; } public string? MiddleName { get; set; } public string? Email { get; set; } public string? Gender { get; set; } public DateTime? BirthDate { get; set; } public DateTime? JoiningDate { get; set; } public string? PermanentAddress { get; set; } public string? CurrentAddress { get; set; } public string? PhoneNumber { get; set; } public string? EmergencyPhoneNumber { get; set; } public string? EmergencyContactPerson { get; set; } public byte[]? Photo { get; set; } // To store the captured photo public string? ApplicationUserId { get; set; } [ForeignKey("ApplicationUserId")] [ValidateNever] public ApplicationUser? ApplicationUser { get; set; } public bool IsActive { get; set; } = true; public bool HasApplicationAccess { get; set; } = false; public bool IsPrimary { get; set; } = false; public bool IsSystem { get; set; } = false; public Guid JobRoleId { get; set; } [ForeignKey("JobRoleId")] [ValidateNever] public JobRole? JobRole { get; set; } public Guid OrganizationId { get; set; } = Guid.Parse("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"); [ValidateNever] [ForeignKey("OrganizationId")] public Organization? Organization { get; set; } public Guid? TenantId { get; set; } [ValidateNever] [ForeignKey("TenantId")] public Tenant? Tenant { get; set; } } }