initial commit

This commit is contained in:
2026-07-21 13:38:38 +07:00
commit 5047288f04
777 changed files with 57255 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
using Indotalent.Data.Interfaces;
using Indotalent.Shared.Utils;
using System.ComponentModel.DataAnnotations;
namespace Indotalent.Data.Abstracts;
public abstract class BaseEntity : IHasAudit, IHasIsDeleted
{
[Key]
public string Id { get; set; } = SequentialGuidGenerator.NewSequentialId();
public DateTimeOffset? CreatedAt { get; set; }
public string? CreatedBy { get; set; }
public DateTimeOffset? UpdatedAt { get; set; }
public string? UpdatedBy { get; set; }
public bool IsDeleted { get; set; } = false;
}
+41
View File
@@ -0,0 +1,41 @@
using Indotalent.Data.Interfaces;
using Microsoft.AspNetCore.Identity;
namespace Indotalent.Data.Entities;
public class ApplicationUser : IdentityUser, IHasIsDeleted
{
public string? FullName { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string? ShortBio { get; set; }
public string? JobTitle { get; set; }
public DateTime DateOfBirth { get; set; }
public string? StreetAddress { get; set; }
public string? City { get; set; }
public string? StateProvince { get; set; }
public string? ZipCode { get; set; }
public string? Country { get; set; }
public string SocialMediaLinkedIn { get; set; } = string.Empty;
public string SocialMediaX { get; set; } = string.Empty;
public string SocialMediaFacebook { get; set; } = string.Empty;
public string SocialMediaInstagram { get; set; } = string.Empty;
public string SocialMediaTikTok { get; set; } = string.Empty;
public string OtherInformation1 { get; set; } = string.Empty;
public string OtherInformation2 { get; set; } = string.Empty;
public string OtherInformation3 { get; set; } = string.Empty;
public string? SsoIdFirebase { get; set; }
public string? SsoIdKeycloak { get; set; }
public string? SsoIdAzure { get; set; }
public string? SsoIdAws { get; set; }
public string? SsoIdOther1 { get; set; }
public string? SsoIdOther2 { get; set; }
public string? SsoIdOther3 { get; set; }
public DateTime CreatedAt { get; set; } = DateTime.Now;
public DateTime? LastLoginAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public bool IsActive { get; set; } = true;
public bool IsDeleted { get; set; } = false;
public string? AvatarFile { get; set; }
public string? RefreshToken { get; set; }
}
+15
View File
@@ -0,0 +1,15 @@
using Indotalent.Data.Abstracts;
using Indotalent.Infrastructure.AutoNumberGenerator;
namespace Indotalent.Data.Entities;
public class AutoNumberSequence : BaseEntity, IAutoNumberGenerator
{
public string? EntityName { get; set; }
public int? Year { get; set; }
public int? Month { get; set; }
public long? CurrentSequence { get; set; }
public string? PrefixTemplate { get; set; }
public string? SuffixTemplate { get; set; }
public int? PaddingLength { get; set; }
}
+15
View File
@@ -0,0 +1,15 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
namespace Indotalent.Data.Entities;
public class Bill : BaseEntity, IHasAutoNumber
{
public string? AutoNumber { get; set; }
public DateTime? BillDate { get; set; }
public BillStatus BillStatus { get; set; }
public string? Description { get; set; }
public string? PurchaseOrderId { get; set; }
public PurchaseOrder? PurchaseOrder { get; set; }
}
+27
View File
@@ -0,0 +1,27 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
namespace Indotalent.Data.Entities;
public class Booking : BaseEntity, IHasAutoNumber
{
public string? Subject { get; set; }
public string? AutoNumber { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public string? StartTimezone { get; set; }
public string? EndTimezone { get; set; }
public string? Location { get; set; }
public string? Description { get; set; }
public bool? IsAllDay { get; set; }
public bool? IsReadOnly { get; set; }
public bool? IsBlock { get; set; }
public string? RecurrenceRule { get; set; }
public string? RecurrenceID { get; set; }
public string? FollowingID { get; set; }
public string? RecurrenceException { get; set; }
public BookingStatus Status { get; set; }
public string? BookingResourceId { get; set; }
public BookingResource? BookingResource { get; set; }
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class BookingGroup : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+12
View File
@@ -0,0 +1,12 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class BookingResource : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
public string? BookingGroupId { get; set; }
public BookingGroup? BookingGroup { get; set; }
}
+31
View File
@@ -0,0 +1,31 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class Company : BaseEntity, IHasAutoNumber
{
public string? AutoNumber { get; set; }
public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public bool IsDefault { get; set; } = false;
public string CurrencyId { get; set; } = string.Empty;
public Currency? Currency { get; set; }
public string TaxIdentification { get; set; } = string.Empty;
public string BusinessLicense { get; set; } = string.Empty;
public string CompanyLogo { get; set; } = string.Empty;
public string StreetAddress { get; set; } = string.Empty;
public string City { get; set; } = string.Empty;
public string StateProvince { get; set; } = string.Empty;
public string ZipCode { get; set; } = string.Empty;
public string Phone { get; set; } = string.Empty;
public string Email { get; set; } = string.Empty;
public string SocialMediaLinkedIn { get; set; } = string.Empty;
public string SocialMediaX { get; set; } = string.Empty;
public string SocialMediaFacebook { get; set; } = string.Empty;
public string SocialMediaInstagram { get; set; } = string.Empty;
public string SocialMediaTikTok { get; set; } = string.Empty;
public string OtherInformation1 { get; set; } = string.Empty;
public string OtherInformation2 { get; set; } = string.Empty;
public string OtherInformation3 { get; set; } = string.Empty;
}
+14
View File
@@ -0,0 +1,14 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class Currency : BaseEntity, IHasAutoNumber
{
public string? AutoNumber { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public string? Code { get; set; }
public string? Symbol { get; set; }
public string? CountryOwner { get; set; }
}
+31
View File
@@ -0,0 +1,31 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class Customer : BaseEntity, IHasAutoNumber
{
public string? Name { get; set; }
public string? AutoNumber { get; set; }
public string? Description { get; set; }
public string? Street { get; set; }
public string? City { get; set; }
public string? State { get; set; }
public string? ZipCode { get; set; }
public string? Country { get; set; }
public string? PhoneNumber { get; set; }
public string? FaxNumber { get; set; }
public string? EmailAddress { get; set; }
public string? Website { get; set; }
public string? WhatsApp { get; set; }
public string? LinkedIn { get; set; }
public string? Facebook { get; set; }
public string? Instagram { get; set; }
public string? TwitterX { get; set; }
public string? TikTok { get; set; }
public string? CustomerGroupId { get; set; }
public CustomerGroup? CustomerGroup { get; set; }
public string? CustomerCategoryId { get; set; }
public CustomerCategory? CustomerCategory { get; set; }
public ICollection<CustomerContact> CustomerContactList { get; set; } = new List<CustomerContact>();
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class CustomerCategory : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+16
View File
@@ -0,0 +1,16 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class CustomerContact : BaseEntity, IHasAutoNumber
{
public string? Name { get; set; }
public string? AutoNumber { get; set; }
public string? JobTitle { get; set; }
public string? PhoneNumber { get; set; }
public string? EmailAddress { get; set; }
public string? Description { get; set; }
public string? CustomerId { get; set; }
public Customer? Customer { get; set; }
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class CustomerGroup : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+30
View File
@@ -0,0 +1,30 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
namespace Indotalent.Data.Entities;
public class InventoryTransaction : BaseEntity, IHasAutoNumber
{
public string? ModuleId { get; set; }
public string? ModuleName { get; set; }
public string? ModuleCode { get; set; }
public string? ModuleNumber { get; set; }
public DateTime? MovementDate { get; set; }
public InventoryTransactionStatus Status { get; set; }
public string? AutoNumber { get; set; }
public string? WarehouseId { get; set; }
public Warehouse? Warehouse { get; set; }
public string? ProductId { get; set; }
public Product? Product { get; set; }
public double? Movement { get; set; }
public InventoryTransType? TransType { get; set; }
public double? Stock { get; set; }
public string? WarehouseFromId { get; set; }
public Warehouse? WarehouseFrom { get; set; }
public string? WarehouseToId { get; set; }
public Warehouse? WarehouseTo { get; set; }
public double? QtySCSys { get; set; }
public double? QtySCCount { get; set; }
public double? QtySCDelta { get; set; }
}
+15
View File
@@ -0,0 +1,15 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
namespace Indotalent.Data.Entities;
public class Invoice : BaseEntity, IHasAutoNumber
{
public string? AutoNumber { get; set; }
public DateTime? InvoiceDate { get; set; }
public InvoiceStatus InvoiceStatus { get; set; }
public string? Description { get; set; }
public string? SalesOrderId { get; set; }
public SalesOrder? SalesOrder { get; set; }
}
+18
View File
@@ -0,0 +1,18 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
namespace Indotalent.Data.Entities;
public class PaymentDisburse : BaseEntity, IHasAutoNumber
{
public string? BillId { get; set; }
public Bill? Bill { get; set; }
public string? AutoNumber { get; set; }
public string? Description { get; set; }
public DateTime? PaymentDate { get; set; }
public string? PaymentMethodId { get; set; }
public PaymentMethod? PaymentMethod { get; set; }
public decimal? PaymentAmount { get; set; }
public PaymentDisburseStatus Status { get; set; }
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class PaymentMethod : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+18
View File
@@ -0,0 +1,18 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
namespace Indotalent.Data.Entities;
public class PaymentReceive : BaseEntity, IHasAutoNumber
{
public string? InvoiceId { get; set; }
public Invoice? Invoice { get; set; }
public string? AutoNumber { get; set; }
public string? Description { get; set; }
public DateTime? PaymentDate { get; set; }
public string? PaymentMethodId { get; set; }
public PaymentMethod? PaymentMethod { get; set; }
public decimal? PaymentAmount { get; set; }
public PaymentReceiveStatus Status { get; set; }
}
+17
View File
@@ -0,0 +1,17 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class Product : BaseEntity, IHasAutoNumber
{
public string? Name { get; set; }
public string? AutoNumber { get; set; }
public string? Description { get; set; }
public decimal? UnitPrice { get; set; }
public bool? Physical { get; set; } = true;
public string? UnitMeasureId { get; set; }
public UnitMeasure? UnitMeasure { get; set; }
public string? ProductGroupId { get; set; }
public ProductGroup? ProductGroup { get; set; }
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class ProductGroup : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+16
View File
@@ -0,0 +1,16 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
namespace Indotalent.Data.Entities;
public class ProgramManager : BaseEntity, IHasAutoNumber
{
public string? Title { get; set; }
public string? AutoNumber { get; set; }
public string? Summary { get; set; }
public ProgramManagerStatus Status { get; set; }
public ProgramManagerPriority Priority { get; set; }
public string? ProgramManagerResourceId { get; set; }
public ProgramManagerResource? ProgramManagerResource { get; set; }
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class ProgramManagerResource : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+22
View File
@@ -0,0 +1,22 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
using System.Numerics;
namespace Indotalent.Data.Entities;
public class PurchaseOrder : BaseEntity, IHasAutoNumber
{
public string? AutoNumber { get; set; }
public DateTime? OrderDate { get; set; }
public PurchaseOrderStatus OrderStatus { get; set; }
public string? Description { get; set; }
public string? VendorId { get; set; }
public Vendor? Vendor { get; set; }
public string? TaxId { get; set; }
public Tax? Tax { get; set; }
public decimal? BeforeTaxAmount { get; set; }
public decimal? TaxAmount { get; set; }
public decimal? AfterTaxAmount { get; set; }
public ICollection<PurchaseOrderItem> PurchaseOrderItemList { get; set; } = new List<PurchaseOrderItem>();
}
+16
View File
@@ -0,0 +1,16 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class PurchaseOrderItem : BaseEntity
{
public string? PurchaseOrderId { get; set; }
public PurchaseOrder? PurchaseOrder { get; set; }
public string? ProductId { get; set; }
public Product? Product { get; set; }
public string? Summary { get; set; }
public decimal? UnitPrice { get; set; } = 0;
public double? Quantity { get; set; } = 1;
public decimal? Total { get; set; } = 0;
}
+21
View File
@@ -0,0 +1,21 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
using Indotalent.Data.Enums;
namespace Indotalent.Data.Entities;
public class SalesOrder : BaseEntity, IHasAutoNumber
{
public string? AutoNumber { get; set; }
public DateTime? OrderDate { get; set; }
public SalesOrderStatus OrderStatus { get; set; }
public string? Description { get; set; }
public string? CustomerId { get; set; }
public Customer? Customer { get; set; }
public string? TaxId { get; set; }
public Tax? Tax { get; set; }
public decimal? BeforeTaxAmount { get; set; }
public decimal? TaxAmount { get; set; }
public decimal? AfterTaxAmount { get; set; }
public ICollection<SalesOrderItem> SalesOrderItemList { get; set; } = new List<SalesOrderItem>();
}
+16
View File
@@ -0,0 +1,16 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class SalesOrderItem : BaseEntity
{
public string? SalesOrderId { get; set; }
public SalesOrder? SalesOrder { get; set; }
public string? ProductId { get; set; }
public Product? Product { get; set; }
public string? Summary { get; set; }
public decimal? UnitPrice { get; set; } = 0;
public double? Quantity { get; set; } = 1;
public decimal? Total { get; set; } = 0;
}
+16
View File
@@ -0,0 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace Indotalent.Data.Entities;
public class SerilogLogs
{
[Key]
public int Id { get; set; }
public string? Message { get; set; }
public string? MessageTemplate { get; set; }
public string? Level { get; set; }
public DateTimeOffset TimeStamp { get; set; }
public string? Exception { get; set; }
public string? Properties { get; set; }
public string? LogEvent { get; set; }
}
+14
View File
@@ -0,0 +1,14 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class Tax : BaseEntity, IHasAutoNumber
{
public string? AutoNumber { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public string? Code { get; set; }
public decimal PercentageValue { get; set; }
public string? Category { get; set; }
}
+15
View File
@@ -0,0 +1,15 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class Todo : BaseEntity, IHasAutoNumber
{
public string? Name { get; set; }
public string? AutoNumber { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public bool IsCompleted { get; set; }
public string? Description { get; set; }
public ICollection<TodoItem> TodoItemList { get; set; } = new List<TodoItem>();
}
+15
View File
@@ -0,0 +1,15 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class TodoItem : BaseEntity
{
public string? Name { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public string? Description { get; set; }
public bool IsCompleted { get; set; }
public string? TodoId { get; set; }
public Todo? Todo { get; set; }
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class UnitMeasure : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+31
View File
@@ -0,0 +1,31 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class Vendor : BaseEntity, IHasAutoNumber
{
public string? Name { get; set; }
public string? AutoNumber { get; set; }
public string? Description { get; set; }
public string? Street { get; set; }
public string? City { get; set; }
public string? State { get; set; }
public string? ZipCode { get; set; }
public string? Country { get; set; }
public string? PhoneNumber { get; set; }
public string? FaxNumber { get; set; }
public string? EmailAddress { get; set; }
public string? Website { get; set; }
public string? WhatsApp { get; set; }
public string? LinkedIn { get; set; }
public string? Facebook { get; set; }
public string? Instagram { get; set; }
public string? TwitterX { get; set; }
public string? TikTok { get; set; }
public string? VendorGroupId { get; set; }
public VendorGroup? VendorGroup { get; set; }
public string? VendorCategoryId { get; set; }
public VendorCategory? VendorCategory { get; set; }
public ICollection<VendorContact> VendorContactList { get; set; } = new List<VendorContact>();
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class VendorCategory : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+16
View File
@@ -0,0 +1,16 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class VendorContact : BaseEntity, IHasAutoNumber
{
public string? Name { get; set; }
public string? AutoNumber { get; set; }
public string? JobTitle { get; set; }
public string? PhoneNumber { get; set; }
public string? EmailAddress { get; set; }
public string? Description { get; set; }
public string? VendorId { get; set; }
public Vendor? Vendor { get; set; }
}
+10
View File
@@ -0,0 +1,10 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class VendorGroup : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
}
+11
View File
@@ -0,0 +1,11 @@
using Indotalent.Data.Abstracts;
using Indotalent.Data.Interfaces;
namespace Indotalent.Data.Entities;
public class Warehouse : BaseEntity
{
public string? Name { get; set; }
public string? Description { get; set; }
public bool? SystemWarehouse { get; set; } = false;
}
+17
View File
@@ -0,0 +1,17 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum BillStatus
{
[Description("Draft")]
Draft = 0,
[Description("Cancelled")]
Cancelled = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("Partial Paid")]
PartialPaid = 3,
[Description("Full Paid")]
FullPaid = 4
}
+17
View File
@@ -0,0 +1,17 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum BookingStatus
{
[Description("Cancelled")]
Cancelled = 0,
[Description("Draft")]
Draft = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("OnProgress")]
OnProgress = 3,
[Description("Done")]
Done = 4
}
+11
View File
@@ -0,0 +1,11 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum InventoryTransType
{
[Description("In")]
In = 1,
[Description("Out")]
Out = -1,
}
+15
View File
@@ -0,0 +1,15 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum InventoryTransactionStatus
{
[Description("Draft")]
Draft = 0,
[Description("Cancelled")]
Cancelled = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("Archived")]
Archived = 3
}
+17
View File
@@ -0,0 +1,17 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum InvoiceStatus
{
[Description("Draft")]
Draft = 0,
[Description("Cancelled")]
Cancelled = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("Partial Paid")]
PartialPaid = 3,
[Description("Full Paid")]
FullPaid = 4
}
+15
View File
@@ -0,0 +1,15 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum PaymentDisburseStatus
{
[Description("Draft")]
Draft = 0,
[Description("Cancelled")]
Cancelled = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("Archived")]
Archived = 3
}
+15
View File
@@ -0,0 +1,15 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum PaymentReceiveStatus
{
[Description("Draft")]
Draft = 0,
[Description("Cancelled")]
Cancelled = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("Archived")]
Archived = 3
}
+15
View File
@@ -0,0 +1,15 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum ProgramManagerPriority
{
[Description("Low")]
Low = 0,
[Description("High")]
High = 1,
[Description("Normal")]
Normal = 2,
[Description("Critical")]
Critical = 3
}
+17
View File
@@ -0,0 +1,17 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum ProgramManagerStatus
{
[Description("Cancelled")]
Cancelled = 0,
[Description("Draft")]
Draft = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("OnProgress")]
OnProgress = 3,
[Description("Done")]
Done = 4
}
+15
View File
@@ -0,0 +1,15 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum PurchaseOrderStatus
{
[Description("Draft")]
Draft = 0,
[Description("Cancelled")]
Cancelled = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("Archived")]
Archived = 3
}
+15
View File
@@ -0,0 +1,15 @@
using System.ComponentModel;
namespace Indotalent.Data.Enums;
public enum SalesOrderStatus
{
[Description("Draft")]
Draft = 0,
[Description("Cancelled")]
Cancelled = 1,
[Description("Confirmed")]
Confirmed = 2,
[Description("Archived")]
Archived = 3
}
+9
View File
@@ -0,0 +1,9 @@
namespace Indotalent.Data.Interfaces;
public interface IHasAudit
{
DateTimeOffset? CreatedAt { get; set; }
string? CreatedBy { get; set; }
DateTimeOffset? UpdatedAt { get; set; }
string? UpdatedBy { get; set; }
}
+6
View File
@@ -0,0 +1,6 @@
namespace Indotalent.Data.Interfaces;
public interface IHasAutoNumber
{
string? AutoNumber { get; set; }
}
+6
View File
@@ -0,0 +1,6 @@
namespace Indotalent.Data.Interfaces;
public interface IHasIsDeleted
{
bool IsDeleted { get; set; }
}