erp-platform/api/src/Kurs.Platform.Domain/Entities/Tenant/Hr/Employee.cs

68 lines
2.2 KiB
C#
Raw Normal View History

2025-10-21 14:32:50 +00:00
using System;
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; }
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<HrLeave> Leaves { get; set; }
// public ICollection<HrPerformanceEvaluation> Evaluations { get; set; }
// public ICollection<HrTraining> Trainings { get; set; }
// public ICollection<HrDisciplinaryAction> DisciplinaryActions { get; set; }
}