using System; using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.MultiTenancy; namespace Kurs.Platform.Entities; public class Employee : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } public string Code { get; set; } public string FullName { get; set; } public string Avatar { get; set; } public string NationalId { get; set; } public DateTime BirthDate { get; set; } public string Gender { get; set; } public string MaritalStatus { get; set; } // Embedded Address public string Country { get; set; } public string City { get; set; } public string District { get; set; } public string Street { get; set; } public string PostalCode { get; set; } public string Phone { get; set; } public string PersonalPhone { get; set; } public string Email { get; set; } public string Address1 { get; set; } public string Address2 { get; set; } // Emergency contact public string EmergencyContactName { get; set; } public string EmergencyContactRelationship { get; set; } public string EmergencyContactPhone { get; set; } public DateTime HireDate { get; set; } public DateTime? TerminationDate { get; set; } public Guid EmploymentTypeId { get; set; } public Guid JobPositionId { get; set; } public JobPosition JobPosition { get; set; } public Guid DepartmantId { get; set; } public Department Department { get; set; } public string WorkLocation { get; set; } public Guid? ManagerId { get; set; } public Employee Manager { get; set; } public int BaseSalary { get; set; } public Guid CurrencyId { get; set; } public string PayrollGroup { get; set; } public Guid BankAccountId { get; set; } public BankAccount BankAccount { get; set; } public Guid BadgeId { get; set; } public Badge Badge { get; set; } public string EmployeeStatus { get; set; } public bool IsActive { get; set; } // Navigation lists (placeholders) // public ICollection Leaves { get; set; } // public ICollection Evaluations { get; set; } // public ICollection Trainings { get; set; } // public ICollection DisciplinaryActions { get; set; } }