2025-10-21 14:32:50 +00:00
|
|
|
using System;
|
2025-10-23 08:35:35 +00:00
|
|
|
using System.Collections.Generic;
|
2025-10-21 14:32:50 +00:00
|
|
|
using Volo.Abp.Domain.Entities.Auditing;
|
|
|
|
|
using Volo.Abp.MultiTenancy;
|
|
|
|
|
|
|
|
|
|
namespace Kurs.Platform.Entities;
|
|
|
|
|
|
|
|
|
|
public class Employee : FullAuditedEntity<Guid>, 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; }
|
2025-10-21 14:47:16 +00:00
|
|
|
public string Address1 { get; set; }
|
2025-10-21 14:32:50 +00:00
|
|
|
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; }
|
2025-10-22 08:20:11 +00:00
|
|
|
|
|
|
|
|
public Guid? EmploymentTypeId { get; set; }
|
|
|
|
|
public EmploymentType EmploymentType { get; set; }
|
|
|
|
|
|
|
|
|
|
public Guid? JobPositionId { get; set; }
|
2025-10-21 14:32:50 +00:00
|
|
|
public JobPosition JobPosition { get; set; }
|
|
|
|
|
|
2025-10-22 08:20:11 +00:00
|
|
|
public Guid? DepartmentId { get; set; }
|
2025-10-21 14:32:50 +00:00
|
|
|
public Department Department { get; set; }
|
2025-10-22 08:20:11 +00:00
|
|
|
|
2025-10-21 14:32:50 +00:00
|
|
|
public string WorkLocation { get; set; }
|
|
|
|
|
|
|
|
|
|
public Guid? ManagerId { get; set; }
|
|
|
|
|
public Employee Manager { get; set; }
|
|
|
|
|
|
2025-10-22 08:20:11 +00:00
|
|
|
public decimal BaseSalary { get; set; }
|
|
|
|
|
public Guid? CurrencyId { get; set; }
|
|
|
|
|
public Currency Currency { get; set; }
|
|
|
|
|
|
|
|
|
|
public string PayrollGroup { get; set; } // e.g., Monthly, Biweekly, Weekly
|
2025-10-21 14:32:50 +00:00
|
|
|
|
2025-10-22 08:20:11 +00:00
|
|
|
public Guid? BankAccountId { get; set; }
|
2025-10-21 14:32:50 +00:00
|
|
|
public BankAccount BankAccount { get; set; }
|
|
|
|
|
|
2025-10-22 08:20:11 +00:00
|
|
|
public Guid? BadgeId { get; set; }
|
2025-10-21 14:32:50 +00:00
|
|
|
public Badge Badge { get; set; }
|
|
|
|
|
|
|
|
|
|
public string EmployeeStatus { get; set; }
|
|
|
|
|
public bool IsActive { get; set; }
|
|
|
|
|
|
|
|
|
|
// Navigation lists (placeholders)
|
2025-10-23 08:35:35 +00:00
|
|
|
public ICollection<Overtime> Overtimes { get; set; }
|
|
|
|
|
public ICollection<Leave> Leaves { get; set; }
|
2025-10-21 14:32:50 +00:00
|
|
|
// public ICollection<HrPerformanceEvaluation> Evaluations { get; set; }
|
|
|
|
|
// public ICollection<HrTraining> Trainings { get; set; }
|
|
|
|
|
// public ICollection<HrDisciplinaryAction> DisciplinaryActions { get; set; }
|
|
|
|
|
}
|