// using System; using General_Ledger_Service.Infra; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace General_Ledger_Service.Migrations { [DbContext(typeof(AppDBContext))] [Migration("20261006101045_InitialMySql")] partial class InitialMySql { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.9") .HasAnnotation("Relational:MaxIdentifierLength", 64); MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); modelBuilder.Entity("General_Ledger_Service.Models.Account", b => { b.Property("AccountId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("account_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("AccountId")); b.Property("AccountCode") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasColumnName("account_code"); b.Property("AccountName") .IsRequired() .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("account_name"); b.Property("AccountTypeId") .HasColumnType("smallint") .HasColumnName("account_type_id"); b.Property("BalanceSheetClassification") .HasMaxLength(25) .HasColumnType("varchar(25)") .HasColumnName("balance_sheet_classification"); b.Property("CashFlowCategory") .HasMaxLength(15) .HasColumnType("varchar(15)") .HasColumnName("cash_flow_category"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CurrencyCode") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(3) .HasColumnType("char(3)") .HasDefaultValue("LKR") .HasColumnName("currency_code"); b.Property("IncomeStatementSection") .HasMaxLength(25) .HasColumnType("varchar(25)") .HasColumnName("income_statement_section"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_active"); b.Property("IsControlAccount") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_control_account"); b.Property("IsPostable") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_postable"); b.Property("IsTaxDeductible") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_tax_deductible"); b.Property("ParentAccountId") .HasColumnType("bigint") .HasColumnName("parent_account_id"); b.HasKey("AccountId") .HasName("p_k_accounts"); b.HasIndex("AccountCode") .IsUnique() .HasDatabaseName("i_x_accounts_account_code"); b.HasIndex("AccountTypeId") .HasDatabaseName("i_x_accounts_account_type_id"); b.HasIndex("CurrencyCode") .HasDatabaseName("i_x_accounts_currency_code"); b.HasIndex("ParentAccountId") .HasDatabaseName("i_x_accounts_parent_account_id"); b.ToTable("accounts", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.AccountType", b => { b.Property("Id") .HasColumnType("smallint") .HasColumnName("id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasColumnName("name"); b.Property("NormalBalance") .IsRequired() .HasMaxLength(2) .HasColumnType("char(2)") .HasColumnName("normal_balance"); b.HasKey("Id") .HasName("p_k_account_type"); b.ToTable("account_type", null, t => { t.HasCheckConstraint("CK_account_type_normal_balance", "normal_balance IN ('DR','CR')"); }); b.HasData( new { Id = (short)1, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Asset", NormalBalance = "DR" }, new { Id = (short)2, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Liability", NormalBalance = "CR" }, new { Id = (short)3, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Equity", NormalBalance = "CR" }, new { Id = (short)4, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Income", NormalBalance = "CR" }, new { Id = (short)5, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Expense", NormalBalance = "DR" }); }); modelBuilder.Entity("General_Ledger_Service.Models.AccountingPeriod", b => { b.Property("PeriodId") .ValueGeneratedOnAdd() .HasColumnType("int") .HasColumnName("period_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("PeriodId")); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("EndDate") .HasColumnType("date") .HasColumnName("end_date"); b.Property("FiscalYearId") .HasColumnType("int") .HasColumnName("fiscal_year_id"); b.Property("LockGl") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("lock_gl"); b.Property("LockReason") .HasMaxLength(255) .HasColumnType("varchar(255)") .HasColumnName("lock_reason"); b.Property("PeriodNumber") .HasColumnType("smallint") .HasColumnName("period_number"); b.Property("StartDate") .HasColumnType("date") .HasColumnName("start_date"); b.Property("Status") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1) .HasColumnName("status"); b.HasKey("PeriodId") .HasName("p_k_accounting_period"); b.HasIndex("FiscalYearId") .HasDatabaseName("i_x_accounting_period_fiscal_year_id"); b.ToTable("accounting_period", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.AssetDisposal", b => { b.Property("DisposalId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("disposal_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("DisposalId")); b.Property("AssetId") .HasColumnType("bigint") .HasColumnName("asset_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("DisposalDate") .HasColumnType("date") .HasColumnName("disposal_date"); b.Property("GainLoss") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("gain_loss"); b.Property("JournalId") .HasColumnType("bigint") .HasColumnName("journal_id"); b.Property("NetBookValueAtDisposal") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("net_book_value_at_disposal"); b.Property("Proceeds") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("proceeds"); b.HasKey("DisposalId") .HasName("p_k_asset_disposal"); b.HasIndex("AssetId") .HasDatabaseName("i_x_asset_disposal_asset_id"); b.HasIndex("JournalId") .HasDatabaseName("i_x_asset_disposal_journal_id"); b.ToTable("asset_disposal", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.AuditLog", b => { b.Property("AuditLogId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("audit_log_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("AuditLogId")); b.Property("Action") .HasColumnType("int") .HasColumnName("action"); b.Property("Category") .HasColumnType("int") .HasColumnName("category"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("EntityId") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasColumnName("entity_id"); b.Property("EntityName") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasColumnName("entity_name"); b.Property("OccurredAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("occurred_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("PerformedBy") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("performed_by"); b.HasKey("AuditLogId") .HasName("p_k_audit_log"); b.ToTable("audit_log", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.BankAccount", b => { b.Property("BankAccountId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("bank_account_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("BankAccountId")); b.Property("AccountName") .IsRequired() .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("account_name"); b.Property("AccountNumber") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasColumnName("account_number"); b.Property("BankName") .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("bank_name"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CurrencyCode") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(3) .HasColumnType("char(3)") .HasDefaultValue("LKR") .HasColumnName("currency_code"); b.Property("GlAccountId") .HasColumnType("bigint") .HasColumnName("gl_account_id"); b.HasKey("BankAccountId") .HasName("p_k_bank_account"); b.HasIndex("CurrencyCode") .HasDatabaseName("i_x_bank_account_currency_code"); b.HasIndex("GlAccountId") .HasDatabaseName("i_x_bank_account_gl_account_id"); b.ToTable("bank_account", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.BankStatementLine", b => { b.Property("StmtLineId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("stmt_line_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("StmtLineId")); b.Property("Amount") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("amount"); b.Property("BankAccountId") .HasColumnType("bigint") .HasColumnName("bank_account_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("Description") .HasMaxLength(255) .HasColumnType("varchar(255)") .HasColumnName("description"); b.Property("IsReconciled") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_reconciled"); b.Property("MatchedJournalId") .HasColumnType("bigint") .HasColumnName("matched_journal_id"); b.Property("TxnDate") .HasColumnType("date") .HasColumnName("txn_date"); b.HasKey("StmtLineId") .HasName("p_k_bank_statement_line"); b.HasIndex("BankAccountId") .HasDatabaseName("i_x_bank_statement_line_bank_account_id"); b.HasIndex("MatchedJournalId") .HasDatabaseName("i_x_bank_statement_line_matched_journal_id"); b.ToTable("bank_statement_line", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.Budget", b => { b.Property("BudgetId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("budget_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("BudgetId")); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("FiscalYearId") .HasColumnType("int") .HasColumnName("fiscal_year_id"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("name"); b.HasKey("BudgetId") .HasName("p_k_budget"); b.HasIndex("FiscalYearId") .HasDatabaseName("i_x_budget_fiscal_year_id"); b.ToTable("budget", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.BudgetLine", b => { b.Property("BudgetLineId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("budget_line_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("BudgetLineId")); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("BudgetId") .HasColumnType("bigint") .HasColumnName("budget_id"); b.Property("BudgetedAmount") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("budgeted_amount"); b.Property("CostCenterId") .HasColumnType("bigint") .HasColumnName("cost_center_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("PeriodId") .HasColumnType("int") .HasColumnName("period_id"); b.HasKey("BudgetLineId") .HasName("p_k_budget_line"); b.HasIndex("AccountId") .HasDatabaseName("i_x_budget_line_account_id"); b.HasIndex("BudgetId") .HasDatabaseName("i_x_budget_line_budget_id"); b.HasIndex("CostCenterId") .HasDatabaseName("i_x_budget_line_cost_center_id"); b.HasIndex("PeriodId") .HasDatabaseName("i_x_budget_line_period_id"); b.ToTable("budget_line", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.CashAccount", b => { b.Property("CashAccountId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("cash_account_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("CashAccountId")); b.Property("AccountName") .IsRequired() .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("account_name"); b.Property("AccountNumber") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasColumnName("account_number"); b.Property("CashAccountTypeId") .HasColumnType("int") .HasColumnName("cash_account_type_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CurrencyCode") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(3) .HasColumnType("char(3)") .HasDefaultValue("LKR") .HasColumnName("currency_code"); b.Property("GlAccountId") .HasColumnType("bigint") .HasColumnName("gl_account_id"); b.HasKey("CashAccountId") .HasName("p_k_cash_account"); b.HasIndex("AccountNumber") .IsUnique() .HasDatabaseName("i_x_cash_account_account_number"); b.HasIndex("CashAccountTypeId") .HasDatabaseName("i_x_cash_account_cash_account_type_id"); b.HasIndex("CurrencyCode") .HasDatabaseName("i_x_cash_account_currency_code"); b.HasIndex("GlAccountId") .HasDatabaseName("i_x_cash_account_gl_account_id"); b.ToTable("cash_account", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.CashAccountType", b => { b.Property("CashAccountTypeId") .ValueGeneratedOnAdd() .HasColumnType("int") .HasColumnName("cash_account_type_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("CashAccountTypeId")); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("GlAccountId") .HasColumnType("bigint") .HasColumnName("gl_account_id"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("name"); b.HasKey("CashAccountTypeId") .HasName("p_k_cash_account_type"); b.HasIndex("GlAccountId") .HasDatabaseName("i_x_cash_account_type_gl_account_id"); b.HasIndex("Name") .IsUnique() .HasDatabaseName("i_x_cash_account_type_name"); b.ToTable("cash_account_type", (string)null); b.HasData( new { CashAccountTypeId = 1, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Petty Cash" }, new { CashAccountTypeId = 2, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Till Cash" }, new { CashAccountTypeId = 3, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Safe Cash" }, new { CashAccountTypeId = 4, CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Cash in Transit" }); }); modelBuilder.Entity("General_Ledger_Service.Models.ChequeBook", b => { b.Property("ChequeBookId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("cheque_book_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("ChequeBookId")); b.Property("BankAccountId") .HasColumnType("bigint") .HasColumnName("bank_account_id"); b.Property("BranchId") .HasColumnType("bigint") .HasColumnName("branch_id"); b.Property("ChequeBookNo") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasColumnName("cheque_book_no"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CreatedBy") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("created_by"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("EndChequeNo") .IsRequired() .HasMaxLength(30) .HasColumnType("varchar(30)") .HasColumnName("end_cheque_no"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_active"); b.Property("ModifiedAt") .HasColumnType("datetime(6)") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("modified_by"); b.Property("ReceivedDate") .HasColumnType("date") .HasColumnName("received_date"); b.Property("StartChequeNo") .IsRequired() .HasMaxLength(30) .HasColumnType("varchar(30)") .HasColumnName("start_cheque_no"); b.Property("Status") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1) .HasColumnName("status"); b.Property("TotalLeaves") .HasColumnType("int") .HasColumnName("total_leaves"); b.HasKey("ChequeBookId") .HasName("p_k_cheque_book"); b.HasIndex("BankAccountId") .HasDatabaseName("i_x_cheque_book_bank_account_id"); b.HasIndex("ChequeBookNo") .IsUnique() .HasDatabaseName("i_x_cheque_book_cheque_book_no"); b.ToTable("cheque_book", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.ChequePage", b => { b.Property("ChequePageId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("cheque_page_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("ChequePageId")); b.Property("Amount") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("amount"); b.Property("CancelReason") .HasMaxLength(500) .HasColumnType("varchar(500)") .HasColumnName("cancel_reason"); b.Property("ChequeBookId") .HasColumnType("bigint") .HasColumnName("cheque_book_id"); b.Property("ChequeNo") .IsRequired() .HasMaxLength(30) .HasColumnType("varchar(30)") .HasColumnName("cheque_no"); b.Property("ClearedByBank") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("cleared_by_bank"); b.Property("ClearedDate") .HasColumnType("date") .HasColumnName("cleared_date"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CreatedBy") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("created_by"); b.Property("CurrencyCode") .HasMaxLength(3) .HasColumnType("char(3)") .HasColumnName("currency_code"); b.Property("IsAccountPayee") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_account_payee"); b.Property("IsCrossCheque") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_cross_cheque"); b.Property("IsPostDated") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_post_dated"); b.Property("IssueDate") .HasColumnType("date") .HasColumnName("issue_date"); b.Property("IssueStatus") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1) .HasColumnName("issue_status"); b.Property("Notes") .HasColumnType("text") .HasColumnName("notes"); b.Property("PayeeId") .HasColumnType("bigint") .HasColumnName("payee_id"); b.Property("PayeeName") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasColumnName("payee_name"); b.Property("PayeeType") .HasColumnType("int") .HasColumnName("payee_type"); b.Property("PrintedAt") .HasColumnType("datetime(6)") .HasColumnName("printed_at"); b.Property("PrintedBy") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("printed_by"); b.Property("Purpose") .HasMaxLength(500) .HasColumnType("varchar(500)") .HasColumnName("purpose"); b.Property("ReferenceNo") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("reference_no"); b.Property("VoucherId") .HasColumnType("bigint") .HasColumnName("voucher_id"); b.HasKey("ChequePageId") .HasName("p_k_cheque_page"); b.HasIndex("ChequeBookId") .HasDatabaseName("i_x_cheque_page_cheque_book_id"); b.HasIndex("ChequeNo") .IsUnique() .HasDatabaseName("i_x_cheque_page_cheque_no"); b.HasIndex("CurrencyCode") .HasDatabaseName("i_x_cheque_page_currency_code"); b.ToTable("cheque_page", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.CostCenter", b => { b.Property("CostCenterId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("cost_center_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("CostCenterId")); b.Property("Code") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasColumnName("code"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_active"); b.Property("Name") .IsRequired() .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("name"); b.Property("ParentCostCenterId") .HasColumnType("bigint") .HasColumnName("parent_cost_center_id"); b.HasKey("CostCenterId") .HasName("p_k_cost_center"); b.HasIndex("Code") .IsUnique() .HasDatabaseName("i_x_cost_center_code"); b.HasIndex("ParentCostCenterId") .HasDatabaseName("i_x_cost_center_parent_cost_center_id"); b.ToTable("cost_center", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.Currency", b => { b.Property("CurrencyCode") .HasMaxLength(3) .HasColumnType("char(3)") .HasColumnName("currency_code"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CurrencyName") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasColumnName("currency_name"); b.Property("DecimalPlaces") .HasColumnType("smallint") .HasColumnName("decimal_places"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_active"); b.Property("IsBaseCurrency") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_base_currency"); b.Property("Symbol") .HasMaxLength(5) .HasColumnType("varchar(5)") .HasColumnName("symbol"); b.HasKey("CurrencyCode") .HasName("p_k_currency"); b.ToTable("currency", (string)null); b.HasData( new { CurrencyCode = "LKR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Sri Lankan Rupee", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = true, Symbol = "Rs" }, new { CurrencyCode = "USD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "US Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "EUR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Euro", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "€" }, new { CurrencyCode = "GBP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "British Pound", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "£" }, new { CurrencyCode = "JPY", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Japanese Yen", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "¥" }, new { CurrencyCode = "CHF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Swiss Franc", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "CHF" }, new { CurrencyCode = "CAD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Canadian Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "AUD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Australian Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "NZD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "New Zealand Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "CNY", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Chinese Yuan", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "¥" }, new { CurrencyCode = "HKD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Hong Kong Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "SGD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Singapore Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "INR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Indian Rupee", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₹" }, new { CurrencyCode = "PKR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Pakistani Rupee", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Rs" }, new { CurrencyCode = "BDT", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Bangladeshi Taka", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "৳" }, new { CurrencyCode = "NPR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Nepalese Rupee", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Rs" }, new { CurrencyCode = "BTN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Bhutanese Ngultrum", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Nu." }, new { CurrencyCode = "MVR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Maldivian Rufiyaa", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Rf" }, new { CurrencyCode = "AFN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Afghan Afghani", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "؋" }, new { CurrencyCode = "KRW", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "South Korean Won", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "₩" }, new { CurrencyCode = "TWD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "New Taiwan Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "NT$" }, new { CurrencyCode = "MYR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Malaysian Ringgit", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "RM" }, new { CurrencyCode = "THB", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Thai Baht", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "฿" }, new { CurrencyCode = "IDR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Indonesian Rupiah", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Rp" }, new { CurrencyCode = "PHP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Philippine Peso", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₱" }, new { CurrencyCode = "VND", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Vietnamese Dong", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "₫" }, new { CurrencyCode = "MMK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Myanmar Kyat", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "K" }, new { CurrencyCode = "KHR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Cambodian Riel", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "៛" }, new { CurrencyCode = "LAK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Lao Kip", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₭" }, new { CurrencyCode = "BND", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Brunei Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "MOP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Macanese Pataca", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "MOP$" }, new { CurrencyCode = "MNT", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Mongolian Tugrik", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₮" }, new { CurrencyCode = "AED", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "UAE Dirham", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "د.إ" }, new { CurrencyCode = "SAR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Saudi Riyal", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "﷼" }, new { CurrencyCode = "QAR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Qatari Riyal", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "﷼" }, new { CurrencyCode = "KWD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Kuwaiti Dinar", DecimalPlaces = (short)3, IsActive = true, IsBaseCurrency = false, Symbol = "د.ك" }, new { CurrencyCode = "BHD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Bahraini Dinar", DecimalPlaces = (short)3, IsActive = true, IsBaseCurrency = false, Symbol = ".د.ب" }, new { CurrencyCode = "OMR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Omani Rial", DecimalPlaces = (short)3, IsActive = true, IsBaseCurrency = false, Symbol = "﷼" }, new { CurrencyCode = "ILS", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Israeli New Shekel", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₪" }, new { CurrencyCode = "JOD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Jordanian Dinar", DecimalPlaces = (short)3, IsActive = true, IsBaseCurrency = false, Symbol = "د.ا" }, new { CurrencyCode = "LBP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Lebanese Pound", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "ل.ل" }, new { CurrencyCode = "IQD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Iraqi Dinar", DecimalPlaces = (short)3, IsActive = true, IsBaseCurrency = false, Symbol = "ع.د" }, new { CurrencyCode = "IRR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Iranian Rial", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "﷼" }, new { CurrencyCode = "YER", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Yemeni Rial", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "﷼" }, new { CurrencyCode = "SYP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Syrian Pound", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "£" }, new { CurrencyCode = "TRY", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Turkish Lira", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₺" }, new { CurrencyCode = "ZAR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "South African Rand", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "R" }, new { CurrencyCode = "EGP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Egyptian Pound", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "£" }, new { CurrencyCode = "NGN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Nigerian Naira", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₦" }, new { CurrencyCode = "KES", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Kenyan Shilling", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "KSh" }, new { CurrencyCode = "GHS", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Ghanaian Cedi", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₵" }, new { CurrencyCode = "TZS", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Tanzanian Shilling", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "TSh" }, new { CurrencyCode = "UGX", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Ugandan Shilling", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "USh" }, new { CurrencyCode = "ETB", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Ethiopian Birr", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Br" }, new { CurrencyCode = "MAD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Moroccan Dirham", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "د.م." }, new { CurrencyCode = "DZD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Algerian Dinar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "د.ج" }, new { CurrencyCode = "TND", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Tunisian Dinar", DecimalPlaces = (short)3, IsActive = true, IsBaseCurrency = false, Symbol = "د.ت" }, new { CurrencyCode = "LYD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Libyan Dinar", DecimalPlaces = (short)3, IsActive = true, IsBaseCurrency = false, Symbol = "ل.د" }, new { CurrencyCode = "SDG", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Sudanese Pound", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "ج.س." }, new { CurrencyCode = "XOF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "West African CFA Franc", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "CFA" }, new { CurrencyCode = "XAF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Central African CFA Franc", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "FCFA" }, new { CurrencyCode = "RWF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Rwandan Franc", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "FRw" }, new { CurrencyCode = "BIF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Burundian Franc", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "FBu" }, new { CurrencyCode = "DJF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Djiboutian Franc", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "Fdj" }, new { CurrencyCode = "SOS", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Somali Shilling", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "S" }, new { CurrencyCode = "ZMW", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Zambian Kwacha", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "ZK" }, new { CurrencyCode = "MWK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Malawian Kwacha", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "MK" }, new { CurrencyCode = "MZN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Mozambican Metical", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "MT" }, new { CurrencyCode = "AOA", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Angolan Kwanza", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Kz" }, new { CurrencyCode = "BWP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Botswana Pula", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "P" }, new { CurrencyCode = "NAD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Namibian Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "SZL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Eswatini Lilangeni", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "L" }, new { CurrencyCode = "LSL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Lesotho Loti", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "L" }, new { CurrencyCode = "GMD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Gambian Dalasi", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "D" }, new { CurrencyCode = "SLL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Sierra Leonean Leone", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Le" }, new { CurrencyCode = "LRD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Liberian Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "GNF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Guinean Franc", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "FG" }, new { CurrencyCode = "CVE", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Cape Verdean Escudo", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "MRU", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Mauritanian Ouguiya", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "UM" }, new { CurrencyCode = "KMF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Comorian Franc", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "CF" }, new { CurrencyCode = "MGA", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Malagasy Ariary", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Ar" }, new { CurrencyCode = "MUR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Mauritian Rupee", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₨" }, new { CurrencyCode = "SCR", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Seychellois Rupee", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₨" }, new { CurrencyCode = "CDF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Congolese Franc", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "FC" }, new { CurrencyCode = "XPF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "CFP Franc", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "₣" }, new { CurrencyCode = "SEK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Swedish Krona", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "kr" }, new { CurrencyCode = "NOK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Norwegian Krone", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "kr" }, new { CurrencyCode = "DKK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Danish Krone", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "kr" }, new { CurrencyCode = "PLN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Polish Zloty", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "zł" }, new { CurrencyCode = "CZK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Czech Koruna", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Kč" }, new { CurrencyCode = "HUF", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Hungarian Forint", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Ft" }, new { CurrencyCode = "RON", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Romanian Leu", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "lei" }, new { CurrencyCode = "BGN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Bulgarian Lev", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "лв" }, new { CurrencyCode = "RSD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Serbian Dinar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "дин." }, new { CurrencyCode = "ISK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Icelandic Krona", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "kr" }, new { CurrencyCode = "UAH", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Ukrainian Hryvnia", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₴" }, new { CurrencyCode = "RUB", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Russian Ruble", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₽" }, new { CurrencyCode = "BYN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Belarusian Ruble", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Br" }, new { CurrencyCode = "MDL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Moldovan Leu", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "L" }, new { CurrencyCode = "ALL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Albanian Lek", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "L" }, new { CurrencyCode = "MKD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Macedonian Denar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "ден" }, new { CurrencyCode = "BAM", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Bosnia-Herzegovina Convertible Mark", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "KM" }, new { CurrencyCode = "GEL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Georgian Lari", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₾" }, new { CurrencyCode = "AMD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Armenian Dram", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "֏" }, new { CurrencyCode = "AZN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Azerbaijani Manat", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₼" }, new { CurrencyCode = "KZT", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Kazakhstani Tenge", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₸" }, new { CurrencyCode = "UZS", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Uzbekistani Som", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false }, new { CurrencyCode = "KGS", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Kyrgystani Som", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false }, new { CurrencyCode = "TJS", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Tajikistani Somoni", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "ЅМ" }, new { CurrencyCode = "TMT", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Turkmenistani Manat", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "m" }, new { CurrencyCode = "BRL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Brazilian Real", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "R$" }, new { CurrencyCode = "MXN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Mexican Peso", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "ARS", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Argentine Peso", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "CLP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Chilean Peso", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "COP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Colombian Peso", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "PEN", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Peruvian Sol", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "S/" }, new { CurrencyCode = "UYU", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Uruguayan Peso", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$U" }, new { CurrencyCode = "BOB", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Bolivian Boliviano", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Bs." }, new { CurrencyCode = "PYG", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Paraguayan Guarani", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "₲" }, new { CurrencyCode = "VES", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Venezuelan Bolivar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Bs." }, new { CurrencyCode = "GYD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Guyanese Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "SRD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Surinamese Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "CRC", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Costa Rican Colon", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "₡" }, new { CurrencyCode = "GTQ", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Guatemalan Quetzal", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "Q" }, new { CurrencyCode = "HNL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Honduran Lempira", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "L" }, new { CurrencyCode = "NIO", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Nicaraguan Cordoba", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "C$" }, new { CurrencyCode = "PAB", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Panamanian Balboa", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "B/." }, new { CurrencyCode = "DOP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Dominican Peso", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "RD$" }, new { CurrencyCode = "JMD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Jamaican Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "TTD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Trinidad and Tobago Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "BBD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Barbadian Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "BSD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Bahamian Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "BZD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Belize Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "HTG", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Haitian Gourde", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "G" }, new { CurrencyCode = "CUP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Cuban Peso", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "XCD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "East Caribbean Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "FJD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Fijian Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }, new { CurrencyCode = "PGK", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Papua New Guinean Kina", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "K" }, new { CurrencyCode = "WST", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Samoan Tala", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "T" }, new { CurrencyCode = "TOP", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Tongan Pa'anga", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "T$" }, new { CurrencyCode = "VUV", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Vanuatu Vatu", DecimalPlaces = (short)0, IsActive = true, IsBaseCurrency = false, Symbol = "VT" }, new { CurrencyCode = "SBD", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CurrencyName = "Solomon Islands Dollar", DecimalPlaces = (short)2, IsActive = true, IsBaseCurrency = false, Symbol = "$" }); }); modelBuilder.Entity("General_Ledger_Service.Models.CurrencyRoundingRule", b => { b.Property("CurrencyCode") .HasMaxLength(3) .HasColumnType("char(3)") .HasColumnName("currency_code"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("RoundingAccountId") .HasColumnType("bigint") .HasColumnName("rounding_account_id"); b.Property("RoundingMethod") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(15) .HasColumnType("varchar(15)") .HasDefaultValue("NEAREST") .HasColumnName("rounding_method"); b.HasKey("CurrencyCode") .HasName("p_k_currency_rounding_rule"); b.HasIndex("RoundingAccountId") .HasDatabaseName("i_x_currency_rounding_rule_rounding_account_id"); b.ToTable("currency_rounding_rule", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.DepreciationSchedule", b => { b.Property("ScheduleId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("schedule_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("ScheduleId")); b.Property("AccumulatedDepreciation") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("accumulated_depreciation"); b.Property("AssetId") .HasColumnType("bigint") .HasColumnName("asset_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("DepreciationAmount") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("depreciation_amount"); b.Property("JournalId") .HasColumnType("bigint") .HasColumnName("journal_id"); b.Property("NetBookValue") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("net_book_value"); b.Property("PeriodId") .HasColumnType("int") .HasColumnName("period_id"); b.HasKey("ScheduleId") .HasName("p_k_depreciation_schedule"); b.HasIndex("AssetId") .HasDatabaseName("i_x_depreciation_schedule_asset_id"); b.HasIndex("JournalId") .HasDatabaseName("i_x_depreciation_schedule_journal_id"); b.HasIndex("PeriodId") .HasDatabaseName("i_x_depreciation_schedule_period_id"); b.ToTable("depreciation_schedule", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.ExchangeRate", b => { b.Property("RateId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("rate_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("RateId")); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CurrencyCode") .IsRequired() .HasMaxLength(3) .HasColumnType("char(3)") .HasColumnName("currency_code"); b.Property("RateDate") .HasColumnType("date") .HasColumnName("rate_date"); b.Property("RateSource") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(30) .HasColumnType("varchar(30)") .HasDefaultValue("MANUAL") .HasColumnName("rate_source"); b.Property("RateToBase") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("rate_to_base"); b.HasKey("RateId") .HasName("p_k_exchange_rate"); b.HasIndex("CurrencyCode", "RateDate") .IsUnique() .HasDatabaseName("i_x_exchange_rate_currency_code_rate_date"); b.ToTable("exchange_rate", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.FiscalYear", b => { b.Property("FiscalYearId") .ValueGeneratedOnAdd() .HasColumnType("int") .HasColumnName("fiscal_year_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("FiscalYearId")); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("EndDate") .HasColumnType("date") .HasColumnName("end_date"); b.Property("IsClosed") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_closed"); b.Property("StartDate") .HasColumnType("date") .HasColumnName("start_date"); b.Property("YearName") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasColumnName("year_name"); b.HasKey("FiscalYearId") .HasName("p_k_fiscal_year"); b.ToTable("fiscal_year", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.FixedAsset", b => { b.Property("AssetId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("asset_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("AssetId")); b.Property("AccumDeprAccountId") .HasColumnType("bigint") .HasColumnName("accum_depr_account_id"); b.Property("AcquisitionCost") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("acquisition_cost"); b.Property("AcquisitionDate") .HasColumnType("date") .HasColumnName("acquisition_date"); b.Property("AssetAccountId") .HasColumnType("bigint") .HasColumnName("asset_account_id"); b.Property("AssetCode") .IsRequired() .HasMaxLength(30) .HasColumnType("varchar(30)") .HasColumnName("asset_code"); b.Property("AssetName") .IsRequired() .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("asset_name"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("DeprExpenseAccountId") .HasColumnType("bigint") .HasColumnName("depr_expense_account_id"); b.Property("DepreciationMethod") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1) .HasColumnName("depreciation_method"); b.Property("DepreciationRatePercent") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("depreciation_rate_percent"); b.Property("GainLossAccountId") .HasColumnType("bigint") .HasColumnName("gain_loss_account_id"); b.Property("ResidualValue") .ValueGeneratedOnAdd() .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasDefaultValue(0m) .HasColumnName("residual_value"); b.Property("Status") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1) .HasColumnName("status"); b.Property("UsefulLifeMonths") .HasColumnType("int") .HasColumnName("useful_life_months"); b.HasKey("AssetId") .HasName("p_k_fixed_asset"); b.HasIndex("AccumDeprAccountId") .HasDatabaseName("i_x_fixed_asset_accum_depr_account_id"); b.HasIndex("AssetAccountId") .HasDatabaseName("i_x_fixed_asset_asset_account_id"); b.HasIndex("AssetCode") .IsUnique() .HasDatabaseName("i_x_fixed_asset_asset_code"); b.HasIndex("DeprExpenseAccountId") .HasDatabaseName("i_x_fixed_asset_depr_expense_account_id"); b.HasIndex("GainLossAccountId") .HasDatabaseName("i_x_fixed_asset_gain_loss_account_id"); b.ToTable("fixed_asset", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.JournalCorrection", b => { b.Property("CorrectionId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("correction_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("CorrectionId")); b.Property("CorrectedBy") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("corrected_by"); b.Property("CorrectionJournalId") .HasColumnType("bigint") .HasColumnName("correction_journal_id"); b.Property("CorrectionType") .HasColumnType("int") .HasColumnName("correction_type"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("OriginalJournalId") .HasColumnType("bigint") .HasColumnName("original_journal_id"); b.Property("Reason") .IsRequired() .HasColumnType("text") .HasColumnName("reason"); b.HasKey("CorrectionId") .HasName("p_k_journal_correction"); b.HasIndex("CorrectionJournalId") .HasDatabaseName("i_x_journal_correction_correction_journal_id"); b.HasIndex("OriginalJournalId") .HasDatabaseName("i_x_journal_correction_original_journal_id"); b.ToTable("journal_correction", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.JournalEntry", b => { b.Property("JournalId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("journal_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("JournalId")); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("EntryDate") .HasColumnType("date") .HasColumnName("entry_date"); b.Property("EntryStatus") .HasColumnType("int") .HasColumnName("entry_status"); b.Property("IsPosted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_posted"); b.Property("IsReversed") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_reversed"); b.Property("JournalNo") .IsRequired() .HasMaxLength(30) .HasColumnType("varchar(30)") .HasColumnName("journal_no"); b.Property("JournalType") .IsRequired() .HasMaxLength(30) .HasColumnType("varchar(30)") .HasColumnName("journal_type"); b.Property("Narration") .HasColumnType("text") .HasColumnName("narration"); b.Property("PeriodId") .HasColumnType("int") .HasColumnName("period_id"); b.Property("PreparedBy") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("prepared_by"); b.Property("Reference") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("reference"); b.Property("ReversalOfId") .HasColumnType("bigint") .HasColumnName("reversal_of_id"); b.Property("SourceModule") .HasMaxLength(30) .HasColumnType("varchar(30)") .HasColumnName("source_module"); b.HasKey("JournalId") .HasName("p_k_journal_entry"); b.HasIndex("JournalNo") .IsUnique() .HasDatabaseName("i_x_journal_entry_journal_no"); b.HasIndex("PeriodId") .HasDatabaseName("i_x_journal_entry_period_id"); b.HasIndex("ReversalOfId") .HasDatabaseName("i_x_journal_entry_reversal_of_id"); b.ToTable("journal_entry", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.JournalEntryLine", b => { b.Property("LineId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("line_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("LineId")); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("BaseCredit") .ValueGeneratedOnAdd() .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasDefaultValue(0m) .HasColumnName("base_credit"); b.Property("BaseDebit") .ValueGeneratedOnAdd() .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasDefaultValue(0m) .HasColumnName("base_debit"); b.Property("CostCenterId") .HasColumnType("bigint") .HasColumnName("cost_center_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CreditAmount") .ValueGeneratedOnAdd() .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasDefaultValue(0m) .HasColumnName("credit_amount"); b.Property("CurrencyCode") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(3) .HasColumnType("char(3)") .HasDefaultValue("LKR") .HasColumnName("currency_code"); b.Property("DebitAmount") .ValueGeneratedOnAdd() .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasDefaultValue(0m) .HasColumnName("debit_amount"); b.Property("ExchangeRate") .ValueGeneratedOnAdd() .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasDefaultValue(1m) .HasColumnName("exchange_rate"); b.Property("JournalId") .HasColumnType("bigint") .HasColumnName("journal_id"); b.Property("Memo") .HasColumnType("text") .HasColumnName("memo"); b.HasKey("LineId") .HasName("p_k_journal_entry_line"); b.HasIndex("AccountId") .HasDatabaseName("i_x_journal_entry_line_account_id"); b.HasIndex("CostCenterId") .HasDatabaseName("i_x_journal_entry_line_cost_center_id"); b.HasIndex("CurrencyCode") .HasDatabaseName("i_x_journal_entry_line_currency_code"); b.HasIndex("JournalId") .HasDatabaseName("i_x_journal_entry_line_journal_id"); b.ToTable("journal_entry_line", null, t => { t.HasCheckConstraint("CK_journal_entry_line_amounts_non_negative", "debit_amount >= 0 AND credit_amount >= 0"); t.HasCheckConstraint("CK_journal_entry_line_one_sided", "(debit_amount = 0 AND credit_amount > 0) OR (credit_amount = 0 AND debit_amount > 0)"); }); }); modelBuilder.Entity("General_Ledger_Service.Models.PeriodLockLog", b => { b.Property("LogId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("log_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("LogId")); b.Property("Action") .HasColumnType("int") .HasColumnName("action"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("ModuleLocked") .HasMaxLength(15) .HasColumnType("varchar(15)") .HasColumnName("module_locked"); b.Property("PeriodId") .HasColumnType("int") .HasColumnName("period_id"); b.Property("Reason") .HasMaxLength(255) .HasColumnType("varchar(255)") .HasColumnName("reason"); b.HasKey("LogId") .HasName("p_k_period_lock_log"); b.HasIndex("PeriodId") .HasDatabaseName("i_x_period_lock_log_period_id"); b.ToTable("period_lock_log", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.ReceivedCheque", b => { b.Property("ReceivedChequeId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("received_cheque_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("ReceivedChequeId")); b.Property("AccountHolderName") .HasMaxLength(200) .HasColumnType("varchar(200)") .HasColumnName("account_holder_name"); b.Property("Amount") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("amount"); b.Property("BranchId") .HasColumnType("bigint") .HasColumnName("branch_id"); b.Property("ChequeDate") .HasColumnType("date") .HasColumnName("cheque_date"); b.Property("ChequeNo") .IsRequired() .HasMaxLength(30) .HasColumnType("varchar(30)") .HasColumnName("cheque_no"); b.Property("CompanyId") .HasColumnType("bigint") .HasColumnName("company_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CreatedBy") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("created_by"); b.Property("DepositBankAccountId") .HasColumnType("bigint") .HasColumnName("deposit_bank_account_id"); b.Property("DepositDate") .HasColumnType("date") .HasColumnName("deposit_date"); b.Property("DrawerBankBranch") .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("drawer_bank_branch"); b.Property("DrawerBankName") .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("drawer_bank_name"); b.Property("Notes") .HasColumnType("text") .HasColumnName("notes"); b.Property("ReceivedDate") .HasColumnType("date") .HasColumnName("received_date"); b.Property("ReceivedFromId") .HasColumnType("bigint") .HasColumnName("received_from_id"); b.Property("ReceivedFromName") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)") .HasColumnName("received_from_name"); b.Property("ReceivedFromType") .HasColumnType("int") .HasColumnName("received_from_type"); b.Property("ReferenceId") .HasColumnType("bigint") .HasColumnName("reference_id"); b.Property("ReferenceType") .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("reference_type"); b.Property("Status") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1) .HasColumnName("status"); b.HasKey("ReceivedChequeId") .HasName("p_k_received_cheque"); b.HasIndex("DepositBankAccountId") .HasDatabaseName("i_x_received_cheque_deposit_bank_account_id"); b.ToTable("received_cheque", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.RecurringJournalTemplate", b => { b.Property("TemplateId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("template_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("TemplateId")); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("EndDate") .HasColumnType("date") .HasColumnName("end_date"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_active"); b.Property("NextRunDate") .HasColumnType("date") .HasColumnName("next_run_date"); b.Property("RecurrencePattern") .HasColumnType("int") .HasColumnName("recurrence_pattern"); b.Property("TemplateName") .IsRequired() .HasMaxLength(150) .HasColumnType("varchar(150)") .HasColumnName("template_name"); b.HasKey("TemplateId") .HasName("p_k_recurring_journal_template"); b.ToTable("recurring_journal_template", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.RecurringJournalTemplateLine", b => { b.Property("LineId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("line_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("LineId")); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("CreditAmount") .ValueGeneratedOnAdd() .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasDefaultValue(0m) .HasColumnName("credit_amount"); b.Property("DebitAmount") .ValueGeneratedOnAdd() .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasDefaultValue(0m) .HasColumnName("debit_amount"); b.Property("TemplateId") .HasColumnType("bigint") .HasColumnName("template_id"); b.HasKey("LineId") .HasName("p_k_recurring_journal_template_line"); b.HasIndex("AccountId") .HasDatabaseName("i_x_recurring_journal_template_line_account_id"); b.HasIndex("TemplateId") .HasDatabaseName("i_x_recurring_journal_template_line_template_id"); b.ToTable("recurring_journal_template_line", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.SystemConfig", b => { b.Property("ConfigKey") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasColumnName("config_key"); b.Property("ConfigValue") .IsRequired() .HasMaxLength(255) .HasColumnType("varchar(255)") .HasColumnName("config_value"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("IsEditable") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_editable"); b.Property("IsLocked") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false) .HasColumnName("is_locked"); b.HasKey("ConfigKey") .HasName("p_k_system_config"); b.ToTable("system_config", (string)null); b.HasData( new { ConfigKey = "COA_MAX_DEPTH", ConfigValue = "6", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "Maximum allowed levels in the recursive Chart of Accounts tree", IsEditable = true, IsLocked = false }, new { ConfigKey = "COST_CENTER_MAX_DEPTH", ConfigValue = "4", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "Maximum allowed levels in the recursive Cost Center tree", IsEditable = true, IsLocked = false }, new { ConfigKey = "COA_ENFORCE_MAX_DEPTH", ConfigValue = "TRUE", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "If FALSE, depth is unlimited (config value ignored)", IsEditable = true, IsLocked = false }, new { ConfigKey = "CASH_ACCOUNT_ROOT_ID", ConfigValue = "", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "Root account (accounts.account_id) whose recursive descendants are treated as cash/bank for the Cash Flow Statement's opening/closing balance and for excluding cash accounts from working-capital changes", IsEditable = true, IsLocked = false }, new { ConfigKey = "CORPORATE_INCOME_TAX_RATE", ConfigValue = "30", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "Default corporate income tax rate, percent, for the Income Tax Computation report - overridable per report request via taxRateOverride", IsEditable = true, IsLocked = false }, new { ConfigKey = "STATUTORY_RELIEF_AMOUNT", ConfigValue = "0", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "Default Qualifying Payments/Reliefs figure for the Income Tax Computation report - overridable per report request via qualifyingPaymentsReliefs", IsEditable = true, IsLocked = false }, new { ConfigKey = "APIT_CREDIT_ACCOUNT_ID", ConfigValue = "", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "GL account (accounts.account_id) where APIT (Advance Personal Income Tax) credits are recorded, read by the Income Tax Computation report", IsEditable = true, IsLocked = false }, new { ConfigKey = "WHT_CREDIT_ACCOUNT_ID", ConfigValue = "", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "GL account (accounts.account_id) where WHT credit receivable is recorded, read by the Income Tax Computation report", IsEditable = true, IsLocked = false }, new { ConfigKey = "QUARTERLY_TAX_PAYMENT_ACCOUNT_ID", ConfigValue = "", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Description = "GL account (accounts.account_id) where quarterly self-assessment tax installment payments are recorded, read by the Income Tax Computation report", IsEditable = true, IsLocked = false }); }); modelBuilder.Entity("General_Ledger_Service.Models.TaxCode", b => { b.Property("TaxCodeId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("tax_code_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("TaxCodeId")); b.Property("AppliesTo") .HasColumnType("int") .HasColumnName("applies_to"); b.Property("CalculationBasis") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1) .HasColumnName("calculation_basis"); b.Property("Code") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasColumnName("code"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("EffectiveFrom") .HasColumnType("date") .HasColumnName("effective_from"); b.Property("EffectiveTo") .HasColumnType("date") .HasColumnName("effective_to"); b.Property("InputTaxAccountId") .HasColumnType("bigint") .HasColumnName("input_tax_account_id"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true) .HasColumnName("is_active"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("name"); b.Property("OutputTaxAccountId") .HasColumnType("bigint") .HasColumnName("output_tax_account_id"); b.Property("RatePercent") .HasPrecision(38, 10) .HasColumnType("decimal(38,10)") .HasColumnName("rate_percent"); b.Property("TaxTypeId") .HasColumnType("int") .HasColumnName("tax_type_id"); b.HasKey("TaxCodeId") .HasName("p_k_tax_code"); b.HasIndex("Code") .IsUnique() .HasDatabaseName("i_x_tax_code_code"); b.HasIndex("InputTaxAccountId") .HasDatabaseName("i_x_tax_code_input_tax_account_id"); b.HasIndex("OutputTaxAccountId") .HasDatabaseName("i_x_tax_code_output_tax_account_id"); b.HasIndex("TaxTypeId") .HasDatabaseName("i_x_tax_code_tax_type_id"); b.ToTable("tax_code", (string)null); }); modelBuilder.Entity("General_Ledger_Service.Models.TaxType", b => { b.Property("TaxTypeId") .ValueGeneratedOnAdd() .HasColumnType("int") .HasColumnName("tax_type_id"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("TaxTypeId")); b.Property("Code") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasColumnName("code"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("datetime(6)") .HasColumnName("created_at") .HasDefaultValueSql("CURRENT_TIMESTAMP(6)"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("name"); b.HasKey("TaxTypeId") .HasName("p_k_tax_type"); b.HasIndex("Code") .IsUnique() .HasDatabaseName("i_x_tax_type_code"); b.ToTable("tax_type", (string)null); b.HasData( new { TaxTypeId = 1, Code = "VAT", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Value Added Tax" }, new { TaxTypeId = 2, Code = "WHT", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Withholding Tax" }, new { TaxTypeId = 3, Code = "NBT", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Nation Building Tax" }, new { TaxTypeId = 4, Code = "SSCL", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Social Security Contribution Levy" }, new { TaxTypeId = 5, Code = "INCOME_TAX", CreatedAt = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), Name = "Income Tax" }); }); modelBuilder.Entity("General_Ledger_Service.Models.Account", b => { b.HasOne("General_Ledger_Service.Models.AccountType", "AccountType") .WithMany() .HasForeignKey("AccountTypeId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_accounts_account_type_account_type_id"); b.HasOne("General_Ledger_Service.Models.Currency", "Currency") .WithMany() .HasForeignKey("CurrencyCode") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_accounts_currency_currency_code"); b.HasOne("General_Ledger_Service.Models.Account", "ParentAccount") .WithMany() .HasForeignKey("ParentAccountId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_accounts_accounts_parent_account_id"); b.Navigation("AccountType"); b.Navigation("Currency"); b.Navigation("ParentAccount"); }); modelBuilder.Entity("General_Ledger_Service.Models.AccountingPeriod", b => { b.HasOne("General_Ledger_Service.Models.FiscalYear", "FiscalYear") .WithMany() .HasForeignKey("FiscalYearId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_accounting_period_fiscal_year_fiscal_year_id"); b.Navigation("FiscalYear"); }); modelBuilder.Entity("General_Ledger_Service.Models.AssetDisposal", b => { b.HasOne("General_Ledger_Service.Models.FixedAsset", "Asset") .WithMany() .HasForeignKey("AssetId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_asset_disposal_fixed_asset_asset_id"); b.HasOne("General_Ledger_Service.Models.JournalEntry", "Journal") .WithMany() .HasForeignKey("JournalId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_asset_disposal_journal_entry_journal_id"); b.Navigation("Asset"); b.Navigation("Journal"); }); modelBuilder.Entity("General_Ledger_Service.Models.BankAccount", b => { b.HasOne("General_Ledger_Service.Models.Currency", "Currency") .WithMany() .HasForeignKey("CurrencyCode") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_bank_account_currency_currency_code"); b.HasOne("General_Ledger_Service.Models.Account", "GlAccount") .WithMany() .HasForeignKey("GlAccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_bank_account_accounts_gl_account_id"); b.Navigation("Currency"); b.Navigation("GlAccount"); }); modelBuilder.Entity("General_Ledger_Service.Models.BankStatementLine", b => { b.HasOne("General_Ledger_Service.Models.BankAccount", "BankAccount") .WithMany() .HasForeignKey("BankAccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_bank_statement_line_bank_account_bank_account_id"); b.HasOne("General_Ledger_Service.Models.JournalEntry", "MatchedJournal") .WithMany() .HasForeignKey("MatchedJournalId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_bank_statement_line_journal_entry_matched_journal_id"); b.Navigation("BankAccount"); b.Navigation("MatchedJournal"); }); modelBuilder.Entity("General_Ledger_Service.Models.Budget", b => { b.HasOne("General_Ledger_Service.Models.FiscalYear", "FiscalYear") .WithMany() .HasForeignKey("FiscalYearId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_budget_fiscal_year_fiscal_year_id"); b.Navigation("FiscalYear"); }); modelBuilder.Entity("General_Ledger_Service.Models.BudgetLine", b => { b.HasOne("General_Ledger_Service.Models.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_budget_line_accounts_account_id"); b.HasOne("General_Ledger_Service.Models.Budget", "Budget") .WithMany("Lines") .HasForeignKey("BudgetId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("f_k_budget_line_budget_budget_id"); b.HasOne("General_Ledger_Service.Models.CostCenter", "CostCenter") .WithMany() .HasForeignKey("CostCenterId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_budget_line_cost_center_cost_center_id"); b.HasOne("General_Ledger_Service.Models.AccountingPeriod", "Period") .WithMany() .HasForeignKey("PeriodId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_budget_line_accounting_period_period_id"); b.Navigation("Account"); b.Navigation("Budget"); b.Navigation("CostCenter"); b.Navigation("Period"); }); modelBuilder.Entity("General_Ledger_Service.Models.CashAccount", b => { b.HasOne("General_Ledger_Service.Models.CashAccountType", "CashAccountType") .WithMany() .HasForeignKey("CashAccountTypeId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_cash_account_cash_account_type_cash_account_type_id"); b.HasOne("General_Ledger_Service.Models.Currency", "Currency") .WithMany() .HasForeignKey("CurrencyCode") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_cash_account_currency_currency_code"); b.HasOne("General_Ledger_Service.Models.Account", "GlAccount") .WithMany() .HasForeignKey("GlAccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_cash_account_accounts_gl_account_id"); b.Navigation("CashAccountType"); b.Navigation("Currency"); b.Navigation("GlAccount"); }); modelBuilder.Entity("General_Ledger_Service.Models.CashAccountType", b => { b.HasOne("General_Ledger_Service.Models.Account", "GlAccount") .WithMany() .HasForeignKey("GlAccountId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_cash_account_type_accounts_gl_account_id"); b.Navigation("GlAccount"); }); modelBuilder.Entity("General_Ledger_Service.Models.ChequeBook", b => { b.HasOne("General_Ledger_Service.Models.BankAccount", "BankAccount") .WithMany() .HasForeignKey("BankAccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_cheque_book_bank_account_bank_account_id"); b.Navigation("BankAccount"); }); modelBuilder.Entity("General_Ledger_Service.Models.ChequePage", b => { b.HasOne("General_Ledger_Service.Models.ChequeBook", "ChequeBook") .WithMany("Pages") .HasForeignKey("ChequeBookId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("f_k_cheque_page_cheque_book_cheque_book_id"); b.HasOne("General_Ledger_Service.Models.Currency", "Currency") .WithMany() .HasForeignKey("CurrencyCode") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_cheque_page_currency_currency_code"); b.Navigation("ChequeBook"); b.Navigation("Currency"); }); modelBuilder.Entity("General_Ledger_Service.Models.CostCenter", b => { b.HasOne("General_Ledger_Service.Models.CostCenter", "ParentCostCenter") .WithMany() .HasForeignKey("ParentCostCenterId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_cost_center_cost_center_parent_cost_center_id"); b.Navigation("ParentCostCenter"); }); modelBuilder.Entity("General_Ledger_Service.Models.CurrencyRoundingRule", b => { b.HasOne("General_Ledger_Service.Models.Currency", "Currency") .WithOne() .HasForeignKey("General_Ledger_Service.Models.CurrencyRoundingRule", "CurrencyCode") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_currency_rounding_rule_currency_currency_code"); b.HasOne("General_Ledger_Service.Models.Account", "RoundingAccount") .WithMany() .HasForeignKey("RoundingAccountId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_currency_rounding_rule_accounts_rounding_account_id"); b.Navigation("Currency"); b.Navigation("RoundingAccount"); }); modelBuilder.Entity("General_Ledger_Service.Models.DepreciationSchedule", b => { b.HasOne("General_Ledger_Service.Models.FixedAsset", "Asset") .WithMany() .HasForeignKey("AssetId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_depreciation_schedule_fixed_asset_asset_id"); b.HasOne("General_Ledger_Service.Models.JournalEntry", "Journal") .WithMany() .HasForeignKey("JournalId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_depreciation_schedule_journal_entry_journal_id"); b.HasOne("General_Ledger_Service.Models.AccountingPeriod", "Period") .WithMany() .HasForeignKey("PeriodId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_depreciation_schedule_accounting_period_period_id"); b.Navigation("Asset"); b.Navigation("Journal"); b.Navigation("Period"); }); modelBuilder.Entity("General_Ledger_Service.Models.ExchangeRate", b => { b.HasOne("General_Ledger_Service.Models.Currency", "Currency") .WithMany() .HasForeignKey("CurrencyCode") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_exchange_rate_currency_currency_code"); b.Navigation("Currency"); }); modelBuilder.Entity("General_Ledger_Service.Models.FixedAsset", b => { b.HasOne("General_Ledger_Service.Models.Account", "AccumDeprAccount") .WithMany() .HasForeignKey("AccumDeprAccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_fixed_asset_accounts_accum_depr_account_id"); b.HasOne("General_Ledger_Service.Models.Account", "AssetAccount") .WithMany() .HasForeignKey("AssetAccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_fixed_asset_accounts_asset_account_id"); b.HasOne("General_Ledger_Service.Models.Account", "DeprExpenseAccount") .WithMany() .HasForeignKey("DeprExpenseAccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_fixed_asset_accounts_depr_expense_account_id"); b.HasOne("General_Ledger_Service.Models.Account", "GainLossAccount") .WithMany() .HasForeignKey("GainLossAccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_fixed_asset_accounts_gain_loss_account_id"); b.Navigation("AccumDeprAccount"); b.Navigation("AssetAccount"); b.Navigation("DeprExpenseAccount"); b.Navigation("GainLossAccount"); }); modelBuilder.Entity("General_Ledger_Service.Models.JournalCorrection", b => { b.HasOne("General_Ledger_Service.Models.JournalEntry", "CorrectionJournal") .WithMany() .HasForeignKey("CorrectionJournalId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_journal_correction_journal_entry_correction_journal_id"); b.HasOne("General_Ledger_Service.Models.JournalEntry", "OriginalJournal") .WithMany() .HasForeignKey("OriginalJournalId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_journal_correction_journal_entry_original_journal_id"); b.Navigation("CorrectionJournal"); b.Navigation("OriginalJournal"); }); modelBuilder.Entity("General_Ledger_Service.Models.JournalEntry", b => { b.HasOne("General_Ledger_Service.Models.AccountingPeriod", "Period") .WithMany() .HasForeignKey("PeriodId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_journal_entry_accounting_period_period_id"); b.HasOne("General_Ledger_Service.Models.JournalEntry", "ReversalOf") .WithMany() .HasForeignKey("ReversalOfId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_journal_entry_journal_entry_reversal_of_id"); b.Navigation("Period"); b.Navigation("ReversalOf"); }); modelBuilder.Entity("General_Ledger_Service.Models.JournalEntryLine", b => { b.HasOne("General_Ledger_Service.Models.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_journal_entry_line_accounts_account_id"); b.HasOne("General_Ledger_Service.Models.CostCenter", "CostCenter") .WithMany() .HasForeignKey("CostCenterId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_journal_entry_line_cost_center_cost_center_id"); b.HasOne("General_Ledger_Service.Models.Currency", "Currency") .WithMany() .HasForeignKey("CurrencyCode") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_journal_entry_line_currency_currency_code"); b.HasOne("General_Ledger_Service.Models.JournalEntry", "Journal") .WithMany("Lines") .HasForeignKey("JournalId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("f_k_journal_entry_line_journal_entry_journal_id"); b.Navigation("Account"); b.Navigation("CostCenter"); b.Navigation("Currency"); b.Navigation("Journal"); }); modelBuilder.Entity("General_Ledger_Service.Models.PeriodLockLog", b => { b.HasOne("General_Ledger_Service.Models.AccountingPeriod", "Period") .WithMany() .HasForeignKey("PeriodId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_period_lock_log_accounting_period_period_id"); b.Navigation("Period"); }); modelBuilder.Entity("General_Ledger_Service.Models.ReceivedCheque", b => { b.HasOne("General_Ledger_Service.Models.BankAccount", "DepositBankAccount") .WithMany() .HasForeignKey("DepositBankAccountId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_received_cheque_bank_account_deposit_bank_account_id"); b.Navigation("DepositBankAccount"); }); modelBuilder.Entity("General_Ledger_Service.Models.RecurringJournalTemplateLine", b => { b.HasOne("General_Ledger_Service.Models.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_recurring_journal_template_line_accounts_account_id"); b.HasOne("General_Ledger_Service.Models.RecurringJournalTemplate", "Template") .WithMany("Lines") .HasForeignKey("TemplateId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("f_k_recurring_journal_template_line_recurring_journal_template_t~"); b.Navigation("Account"); b.Navigation("Template"); }); modelBuilder.Entity("General_Ledger_Service.Models.TaxCode", b => { b.HasOne("General_Ledger_Service.Models.Account", "InputTaxAccount") .WithMany() .HasForeignKey("InputTaxAccountId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_tax_code_accounts_input_tax_account_id"); b.HasOne("General_Ledger_Service.Models.Account", "OutputTaxAccount") .WithMany() .HasForeignKey("OutputTaxAccountId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("f_k_tax_code_accounts_output_tax_account_id"); b.HasOne("General_Ledger_Service.Models.TaxType", "TaxType") .WithMany() .HasForeignKey("TaxTypeId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("f_k_tax_code_tax_type_tax_type_id"); b.Navigation("InputTaxAccount"); b.Navigation("OutputTaxAccount"); b.Navigation("TaxType"); }); modelBuilder.Entity("General_Ledger_Service.Models.Budget", b => { b.Navigation("Lines"); }); modelBuilder.Entity("General_Ledger_Service.Models.ChequeBook", b => { b.Navigation("Pages"); }); modelBuilder.Entity("General_Ledger_Service.Models.JournalEntry", b => { b.Navigation("Lines"); }); modelBuilder.Entity("General_Ledger_Service.Models.RecurringJournalTemplate", b => { b.Navigation("Lines"); }); #pragma warning restore 612, 618 } } }