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

84 lines
2.9 KiB
C#
Raw Normal View History

2025-11-11 19:49:52 +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;
2025-11-11 19:49:52 +00:00
namespace Erp.Platform.Entities;
2025-10-21 14:32:50 +00:00
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; }
2025-11-20 07:07:31 +00:00
public string Township { get; set; }
2025-10-21 14:32:50 +00:00
public string PostalCode { get; set; }
public string MobileNumber { get; set; }
public string PhoneNumber { get; set; }
2025-10-21 14:32:50 +00:00
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; }
2025-11-03 20:31:28 +00:00
public string EmergencyContactPhoneNumber { get; set; }
2025-10-21 14:32:50 +00:00
public DateTime HireDate { get; set; }
public DateTime? TerminationDate { get; set; }
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; }
public Guid? DepartmentId { get; set; }
2025-10-21 14:32:50 +00:00
public Department Department { get; set; }
2025-10-21 14:32:50 +00:00
public string WorkLocation { get; set; }
public Guid? ManagerId { get; set; }
public Employee Manager { get; set; }
public decimal BaseSalary { get; set; }
public string Currency { get; set; }
public string PayrollGroup { get; set; } // e.g., Monthly, Biweekly, Weekly
2025-10-21 14:32:50 +00:00
2025-11-26 19:39:01 +00:00
public Guid? BankId { get; set; }
public Bank Bank { get; set; }
public string IbanNumber { get; set; }
2025-10-21 14:32:50 +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; }
2025-10-23 08:35:35 +00:00
public ICollection<Overtime> Overtimes { get; set; }
public ICollection<Leave> Leaves { get; set; }
2025-10-25 19:13:07 +00:00
public ICollection<Announcement> Announcements { get; set; }
public ICollection<Visitor> Visitors { get; set; }
public ICollection<Reservation> Reservations { get; set; }
public ICollection<Certificate> Certificates { get; set; }
2025-10-26 20:27:01 +00:00
public ICollection<Expense> ExpenseRequests { get; set; }
2025-10-27 14:47:52 +00:00
public ICollection<SurveyResponse> SurveyResponses { get; set; }
public ICollection<Partner> Partners { get; set; }
2025-11-04 12:29:56 +00:00
public ICollection<BlogPost> BlogPosts { get; set; }
2025-11-14 12:44:59 +00:00
public ICollection<Opportunity> Opportunities { get; set; }
2025-11-24 20:50:53 +00:00
public ICollection<Warehouse> Warehouses { get; set; }
2025-12-01 10:56:58 +00:00
public ICollection<Quotation> Quotations { get; set; }
2025-10-21 14:32:50 +00:00
}
2025-11-11 19:49:52 +00:00