initial commit
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
using Indotalent.Data.Enums;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class CreditNote : BaseEntity, IHasAutoNumber
|
||||
{
|
||||
public string? AutoNumber { get; set; }
|
||||
public DateTime? CreditNoteDate { get; set; }
|
||||
public CreditNoteStatus CreditNoteStatus { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public string? SalesReturnId { get; set; }
|
||||
public SalesReturn? SalesReturn { get; set; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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>();
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
using Indotalent.Data.Enums;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class DebitNote : BaseEntity, IHasAutoNumber
|
||||
{
|
||||
public string? AutoNumber { get; set; }
|
||||
public DateTime? DebitNoteDate { get; set; }
|
||||
public DebitNoteStatus DebitNoteStatus { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public string? PurchaseReturnId { get; set; }
|
||||
public PurchaseReturn? PurchaseReturn { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
using Indotalent.Data.Enums;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class DeliveryOrder : BaseEntity, IHasAutoNumber
|
||||
{
|
||||
public string? AutoNumber { get; set; }
|
||||
public DateTime? DeliveryDate { get; set; }
|
||||
public DeliveryOrderStatus Status { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public string? SalesOrderId { get; set; }
|
||||
public SalesOrder? SalesOrder { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
using Indotalent.Data.Enums;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class GoodsReceive : BaseEntity, IHasAutoNumber
|
||||
{
|
||||
public string? AutoNumber { get; set; }
|
||||
public DateTime? ReceiveDate { get; set; }
|
||||
public GoodsReceiveStatus Status { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public string? PurchaseOrderId { get; set; }
|
||||
public PurchaseOrder? PurchaseOrder { get; set; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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>();
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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 PurchaseRequisition : BaseEntity, IHasAutoNumber
|
||||
{
|
||||
public string? AutoNumber { get; set; }
|
||||
public DateTime? RequisitionDate { get; set; }
|
||||
public PurchaseRequisitionStatus RequisitionStatus { 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<PurchaseRequisitionItem> PurchaseRequisitionItemList { get; set; } = new List<PurchaseRequisitionItem>();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class PurchaseRequisitionItem : BaseEntity
|
||||
{
|
||||
public string? PurchaseRequisitionId { get; set; }
|
||||
public PurchaseRequisition? PurchaseRequisition { 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;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
using Indotalent.Data.Enums;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class PurchaseReturn : BaseEntity, IHasAutoNumber
|
||||
{
|
||||
public string? AutoNumber { get; set; }
|
||||
public DateTime? ReturnDate { get; set; }
|
||||
public PurchaseReturnStatus Status { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public string? GoodsReceiveId { get; set; }
|
||||
public GoodsReceive? GoodsReceive { get; set; }
|
||||
}
|
||||
@@ -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>();
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
using Indotalent.Data.Enums;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class SalesQuotation : BaseEntity, IHasAutoNumber
|
||||
{
|
||||
public string? AutoNumber { get; set; }
|
||||
public DateTime? QuotationDate { get; set; }
|
||||
public SalesQuotationStatus QuotationStatus { 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<SalesQuotationItem> SalesQuotationItemList { get; set; } = new List<SalesQuotationItem>();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class SalesQuotationItem : BaseEntity
|
||||
{
|
||||
public string? SalesQuotationId { get; set; }
|
||||
public SalesQuotation? SalesQuotation { 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;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using Indotalent.Data.Abstracts;
|
||||
using Indotalent.Data.Interfaces;
|
||||
using Indotalent.Data.Enums;
|
||||
|
||||
namespace Indotalent.Data.Entities;
|
||||
|
||||
public class SalesReturn : BaseEntity, IHasAutoNumber
|
||||
{
|
||||
public string? AutoNumber { get; set; }
|
||||
public DateTime? ReturnDate { get; set; }
|
||||
public SalesReturnStatus Status { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public string? DeliveryOrderId { get; set; }
|
||||
public DeliveryOrder? DeliveryOrder { get; set; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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>();
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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>();
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
|
||||
public enum CreditNoteStatus
|
||||
{
|
||||
[Description("Draft")]
|
||||
Draft = 0,
|
||||
[Description("Cancelled")]
|
||||
Cancelled = 1,
|
||||
[Description("Confirmed")]
|
||||
Confirmed = 2,
|
||||
[Description("Archived")]
|
||||
Archived = 3
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
public enum DebitNoteStatus
|
||||
{
|
||||
[Description("Draft")]
|
||||
Draft = 0,
|
||||
[Description("Cancelled")]
|
||||
Cancelled = 1,
|
||||
[Description("Confirmed")]
|
||||
Confirmed = 2,
|
||||
[Description("Archived")]
|
||||
Archived = 3
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
public enum DeliveryOrderStatus
|
||||
{
|
||||
[Description("Draft")]
|
||||
Draft = 0,
|
||||
[Description("Cancelled")]
|
||||
Cancelled = 1,
|
||||
[Description("Confirmed")]
|
||||
Confirmed = 2,
|
||||
[Description("Archived")]
|
||||
Archived = 3
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
public enum GoodsReceiveStatus
|
||||
{
|
||||
[Description("Draft")]
|
||||
Draft = 0,
|
||||
[Description("Cancelled")]
|
||||
Cancelled = 1,
|
||||
[Description("Confirmed")]
|
||||
Confirmed = 2,
|
||||
[Description("Archived")]
|
||||
Archived = 3
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
public enum InventoryTransType
|
||||
{
|
||||
[Description("In")]
|
||||
In = 1,
|
||||
[Description("Out")]
|
||||
Out = -1,
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
public enum PurchaseRequisitionStatus
|
||||
{
|
||||
[Description("Draft")]
|
||||
Draft = 0,
|
||||
[Description("Cancelled")]
|
||||
Cancelled = 1,
|
||||
[Description("Confirmed")]
|
||||
Confirmed = 2,
|
||||
[Description("Ordered")]
|
||||
Ordered = 3
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
public enum PurchaseReturnStatus
|
||||
{
|
||||
[Description("Draft")]
|
||||
Draft = 0,
|
||||
[Description("Cancelled")]
|
||||
Cancelled = 1,
|
||||
[Description("Confirmed")]
|
||||
Confirmed = 2,
|
||||
[Description("Archived")]
|
||||
Archived = 3
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
public enum SalesQuotationStatus
|
||||
{
|
||||
[Description("Draft")]
|
||||
Draft = 0,
|
||||
[Description("Cancelled")]
|
||||
Cancelled = 1,
|
||||
[Description("Confirmed")]
|
||||
Confirmed = 2,
|
||||
[Description("Ordered")]
|
||||
Ordered = 3
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Indotalent.Data.Enums;
|
||||
|
||||
public enum SalesReturnStatus
|
||||
{
|
||||
[Description("Draft")]
|
||||
Draft = 0,
|
||||
[Description("Cancelled")]
|
||||
Cancelled = 1,
|
||||
[Description("Confirmed")]
|
||||
Confirmed = 2,
|
||||
[Description("Archived")]
|
||||
Archived = 3
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Indotalent.Data.Interfaces;
|
||||
|
||||
public interface IHasAutoNumber
|
||||
{
|
||||
string? AutoNumber { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Indotalent.Data.Interfaces;
|
||||
|
||||
public interface IHasIsDeleted
|
||||
{
|
||||
bool IsDeleted { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user