using System; using Volo.Abp.Application.Dtos; namespace Kurs.Platform.Intranet; public class EmployeeDto : FullAuditedEntityDto { 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 long? PhoneNumber { get; set; } public long? MobileNumber { 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 long EmergencyContactPhoneNumber { get; set; } public DateTime HireDate { get; set; } public DateTime? TerminationDate { get; set; } public Guid? EmploymentTypeId { get; set; } public EmploymentTypeDto EmploymentType { get; set; } public Guid? JobPositionId { get; set; } public JobPositionDto JobPosition { get; set; } public Guid? DepartmentId { get; set; } public DepartmentDto Department { get; set; } public string WorkLocation { get; set; } public Guid? ManagerId { get; set; } public EmployeeDto Manager { get; set; } public decimal BaseSalary { get; set; } public Guid? CurrencyId { get; set; } public string PayrollGroup { get; set; } // e.g., Monthly, Biweekly, Weekly public Guid? BankAccountId { get; set; } public Guid? BadgeId { get; set; } public string EmployeeStatus { get; set; } public bool IsActive { get; set; } }