Distribution_GL Initialization

This commit is contained in:
2026-10-20 13:07:07 +05:30
commit 3f16e0cb44
194 changed files with 35659 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
using General_Ledger_Service.Enums;
namespace General_Ledger_Service.Models
{
public class ChequeBook
{
public long ChequeBookId { get; set; }
public long BranchId { get; set; }
public long BankAccountId { get; set; }
public string ChequeBookNo { get; set; } = string.Empty;
public string StartChequeNo { get; set; } = string.Empty;
public string EndChequeNo { get; set; } = string.Empty;
public int TotalLeaves { get; set; }
public DateOnly ReceivedDate { get; set; }
public ChequeBookStatus Status { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
public string? CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? ModifiedBy { get; set; }
public DateTime? ModifiedAt { get; set; }
public BankAccount BankAccount { get; set; } = null!;
public List<ChequePage> Pages { get; set; } = [];
}
public class ChequePage
{
public long ChequePageId { get; set; }
public long ChequeBookId { get; set; }
public string ChequeNo { get; set; } = string.Empty;
public ChequeIssueStatus IssueStatus { get; set; }
// Set only once issued - no Supplier/Customer/Employee master table exists in this
// service, so PayeeId is a loose external reference (no FK), same treatment as
// AuditLog.EntityId.
public ChequePayeeType? PayeeType { get; set; }
public long? PayeeId { get; set; }
public string? PayeeName { get; set; }
public DateOnly? IssueDate { get; set; }
public decimal? Amount { get; set; }
public string? CurrencyCode { get; set; }
// Loose reference - no Voucher table exists in this service.
public long? VoucherId { get; set; }
public string? ReferenceNo { get; set; }
public string? Purpose { get; set; }
public bool IsCrossCheque { get; set; }
public bool IsAccountPayee { get; set; }
public bool IsPostDated { get; set; }
public DateOnly? ClearedDate { get; set; }
public bool ClearedByBank { get; set; }
public string? CancelReason { get; set; }
public string? Notes { get; set; }
public string? PrintedBy { get; set; }
public DateTime? PrintedAt { get; set; }
public string? CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public ChequeBook ChequeBook { get; set; } = null!;
public Currency? Currency { get; set; }
}
// No ChequeBook link by design - these cheques are received from the other side (customers/
// suppliers/etc.), not issued from one of this company's own cheque books.
public class ReceivedCheque
{
public long ReceivedChequeId { get; set; }
public long CompanyId { get; set; }
public long? BranchId { get; set; }
public ReceivedChequeFromType ReceivedFromType { get; set; }
public long? ReceivedFromId { get; set; }
public string ReceivedFromName { get; set; } = string.Empty;
// Plain free text, not a FK - no bank-master table exists in this service, same
// precedent as BankAccount.BankName already being free text.
public string? DrawerBankName { get; set; }
public string? DrawerBankBranch { get; set; }
public string? AccountHolderName { get; set; }
public string ChequeNo { get; set; } = string.Empty;
public DateOnly ChequeDate { get; set; }
public decimal Amount { get; set; }
public DateOnly ReceivedDate { get; set; }
public long? DepositBankAccountId { get; set; }
public DateOnly? DepositDate { get; set; }
public ReceivedChequeStatus Status { get; set; }
public string? ReferenceType { get; set; }
public long? ReferenceId { get; set; }
public string? Notes { get; set; }
public string? CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public BankAccount? DepositBankAccount { get; set; }
}
}