Files
Distribution_GL/Migrations/AppDBContextModelSnapshot.cs

4001 lines
175 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// <auto-generated />
using System;
using General_Ledger_Service.Infra;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace General_Ledger_Service.Migrations
{
[DbContext(typeof(AppDBContext))]
partial class AppDBContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(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<long>("AccountId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("account_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("AccountId"));
b.Property<string>("AccountCode")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)")
.HasColumnName("account_code");
b.Property<string>("AccountName")
.IsRequired()
.HasMaxLength(150)
.HasColumnType("varchar(150)")
.HasColumnName("account_name");
b.Property<short>("AccountTypeId")
.HasColumnType("smallint")
.HasColumnName("account_type_id");
b.Property<string>("BalanceSheetClassification")
.HasMaxLength(25)
.HasColumnType("varchar(25)")
.HasColumnName("balance_sheet_classification");
b.Property<string>("CashFlowCategory")
.HasMaxLength(15)
.HasColumnType("varchar(15)")
.HasColumnName("cash_flow_category");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("CurrencyCode")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(3)
.HasColumnType("char(3)")
.HasDefaultValue("LKR")
.HasColumnName("currency_code");
b.Property<string>("IncomeStatementSection")
.HasMaxLength(25)
.HasColumnType("varchar(25)")
.HasColumnName("income_statement_section");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_active");
b.Property<bool>("IsControlAccount")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_control_account");
b.Property<bool>("IsPostable")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_postable");
b.Property<bool>("IsTaxDeductible")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_tax_deductible");
b.Property<long?>("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<short>("Id")
.HasColumnType("smallint")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("varchar(50)")
.HasColumnName("name");
b.Property<string>("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<int>("PeriodId")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("period_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("PeriodId"));
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<DateOnly>("EndDate")
.HasColumnType("date")
.HasColumnName("end_date");
b.Property<int>("FiscalYearId")
.HasColumnType("int")
.HasColumnName("fiscal_year_id");
b.Property<bool>("LockGl")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("lock_gl");
b.Property<string>("LockReason")
.HasMaxLength(255)
.HasColumnType("varchar(255)")
.HasColumnName("lock_reason");
b.Property<short>("PeriodNumber")
.HasColumnType("smallint")
.HasColumnName("period_number");
b.Property<DateOnly>("StartDate")
.HasColumnType("date")
.HasColumnName("start_date");
b.Property<int>("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<long>("DisposalId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("disposal_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("DisposalId"));
b.Property<long>("AssetId")
.HasColumnType("bigint")
.HasColumnName("asset_id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<DateOnly>("DisposalDate")
.HasColumnType("date")
.HasColumnName("disposal_date");
b.Property<decimal?>("GainLoss")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("gain_loss");
b.Property<long?>("JournalId")
.HasColumnType("bigint")
.HasColumnName("journal_id");
b.Property<decimal?>("NetBookValueAtDisposal")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("net_book_value_at_disposal");
b.Property<decimal?>("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<long>("AuditLogId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("audit_log_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("AuditLogId"));
b.Property<int>("Action")
.HasColumnType("int")
.HasColumnName("action");
b.Property<int>("Category")
.HasColumnType("int")
.HasColumnName("category");
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
b.Property<string>("EntityId")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("varchar(50)")
.HasColumnName("entity_id");
b.Property<string>("EntityName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("varchar(50)")
.HasColumnName("entity_name");
b.Property<DateTime>("OccurredAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("occurred_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("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<long>("BankAccountId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("bank_account_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("BankAccountId"));
b.Property<string>("AccountName")
.IsRequired()
.HasMaxLength(150)
.HasColumnType("varchar(150)")
.HasColumnName("account_name");
b.Property<string>("AccountNumber")
.HasMaxLength(50)
.HasColumnType("varchar(50)")
.HasColumnName("account_number");
b.Property<string>("BankName")
.HasMaxLength(150)
.HasColumnType("varchar(150)")
.HasColumnName("bank_name");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("CurrencyCode")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(3)
.HasColumnType("char(3)")
.HasDefaultValue("LKR")
.HasColumnName("currency_code");
b.Property<long>("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<long>("StmtLineId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("stmt_line_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("StmtLineId"));
b.Property<decimal>("Amount")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("amount");
b.Property<long>("BankAccountId")
.HasColumnType("bigint")
.HasColumnName("bank_account_id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("Description")
.HasMaxLength(255)
.HasColumnType("varchar(255)")
.HasColumnName("description");
b.Property<bool>("IsReconciled")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_reconciled");
b.Property<long?>("MatchedJournalId")
.HasColumnType("bigint")
.HasColumnName("matched_journal_id");
b.Property<DateOnly>("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<long>("BudgetId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("budget_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("BudgetId"));
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<int>("FiscalYearId")
.HasColumnType("int")
.HasColumnName("fiscal_year_id");
b.Property<string>("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<long>("BudgetLineId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("budget_line_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("BudgetLineId"));
b.Property<long>("AccountId")
.HasColumnType("bigint")
.HasColumnName("account_id");
b.Property<long>("BudgetId")
.HasColumnType("bigint")
.HasColumnName("budget_id");
b.Property<decimal>("BudgetedAmount")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("budgeted_amount");
b.Property<long?>("CostCenterId")
.HasColumnType("bigint")
.HasColumnName("cost_center_id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<int>("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<long>("CashAccountId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("cash_account_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("CashAccountId"));
b.Property<string>("AccountName")
.IsRequired()
.HasMaxLength(150)
.HasColumnType("varchar(150)")
.HasColumnName("account_name");
b.Property<string>("AccountNumber")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("varchar(50)")
.HasColumnName("account_number");
b.Property<int>("CashAccountTypeId")
.HasColumnType("int")
.HasColumnName("cash_account_type_id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("CurrencyCode")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(3)
.HasColumnType("char(3)")
.HasDefaultValue("LKR")
.HasColumnName("currency_code");
b.Property<long>("GlAccountId")
.HasColumnType("bigint")
.HasColumnName("gl_account_id");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_active");
b.Property<bool>("IsDefault")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_default");
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<int>("CashAccountTypeId")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("cash_account_type_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("CashAccountTypeId"));
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<long?>("GlAccountId")
.HasColumnType("bigint")
.HasColumnName("gl_account_id");
b.Property<string>("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<long>("ChequeBookId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("cheque_book_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("ChequeBookId"));
b.Property<long>("BankAccountId")
.HasColumnType("bigint")
.HasColumnName("bank_account_id");
b.Property<long>("BranchId")
.HasColumnType("bigint")
.HasColumnName("branch_id");
b.Property<string>("ChequeBookNo")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("varchar(50)")
.HasColumnName("cheque_book_no");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("CreatedBy")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("created_by");
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
b.Property<string>("EndChequeNo")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("varchar(30)")
.HasColumnName("end_cheque_no");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_active");
b.Property<DateTime?>("ModifiedAt")
.HasColumnType("datetime(6)")
.HasColumnName("modified_at");
b.Property<string>("ModifiedBy")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("modified_by");
b.Property<DateOnly>("ReceivedDate")
.HasColumnType("date")
.HasColumnName("received_date");
b.Property<string>("StartChequeNo")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("varchar(30)")
.HasColumnName("start_cheque_no");
b.Property<int>("Status")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasDefaultValue(1)
.HasColumnName("status");
b.Property<int>("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<long>("ChequePageId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("cheque_page_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("ChequePageId"));
b.Property<decimal?>("Amount")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("amount");
b.Property<string>("CancelReason")
.HasMaxLength(500)
.HasColumnType("varchar(500)")
.HasColumnName("cancel_reason");
b.Property<long>("ChequeBookId")
.HasColumnType("bigint")
.HasColumnName("cheque_book_id");
b.Property<string>("ChequeNo")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("varchar(30)")
.HasColumnName("cheque_no");
b.Property<bool>("ClearedByBank")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("cleared_by_bank");
b.Property<DateOnly?>("ClearedDate")
.HasColumnType("date")
.HasColumnName("cleared_date");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("CreatedBy")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("created_by");
b.Property<string>("CurrencyCode")
.HasMaxLength(3)
.HasColumnType("char(3)")
.HasColumnName("currency_code");
b.Property<bool>("IsAccountPayee")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_account_payee");
b.Property<bool>("IsCrossCheque")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_cross_cheque");
b.Property<bool>("IsPostDated")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_post_dated");
b.Property<DateOnly?>("IssueDate")
.HasColumnType("date")
.HasColumnName("issue_date");
b.Property<int>("IssueStatus")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasDefaultValue(1)
.HasColumnName("issue_status");
b.Property<string>("Notes")
.HasColumnType("text")
.HasColumnName("notes");
b.Property<long?>("PayeeId")
.HasColumnType("bigint")
.HasColumnName("payee_id");
b.Property<string>("PayeeName")
.HasMaxLength(200)
.HasColumnType("varchar(200)")
.HasColumnName("payee_name");
b.Property<int?>("PayeeType")
.HasColumnType("int")
.HasColumnName("payee_type");
b.Property<DateTime?>("PrintedAt")
.HasColumnType("datetime(6)")
.HasColumnName("printed_at");
b.Property<string>("PrintedBy")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("printed_by");
b.Property<string>("Purpose")
.HasMaxLength(500)
.HasColumnType("varchar(500)")
.HasColumnName("purpose");
b.Property<string>("ReferenceNo")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("reference_no");
b.Property<long?>("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<long>("CostCenterId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("cost_center_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("CostCenterId"));
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)")
.HasColumnName("code");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_active");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(150)
.HasColumnType("varchar(150)")
.HasColumnName("name");
b.Property<long?>("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<string>("CurrencyCode")
.HasMaxLength(3)
.HasColumnType("char(3)")
.HasColumnName("currency_code");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("CurrencyName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("varchar(50)")
.HasColumnName("currency_name");
b.Property<short>("DecimalPlaces")
.HasColumnType("smallint")
.HasColumnName("decimal_places");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_active");
b.Property<bool>("IsBaseCurrency")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_base_currency");
b.Property<string>("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<string>("CurrencyCode")
.HasMaxLength(3)
.HasColumnType("char(3)")
.HasColumnName("currency_code");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<long?>("RoundingAccountId")
.HasColumnType("bigint")
.HasColumnName("rounding_account_id");
b.Property<string>("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<long>("ScheduleId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("schedule_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("ScheduleId"));
b.Property<decimal>("AccumulatedDepreciation")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("accumulated_depreciation");
b.Property<long>("AssetId")
.HasColumnType("bigint")
.HasColumnName("asset_id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<decimal>("DepreciationAmount")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("depreciation_amount");
b.Property<long?>("JournalId")
.HasColumnType("bigint")
.HasColumnName("journal_id");
b.Property<decimal>("NetBookValue")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("net_book_value");
b.Property<int>("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<long>("RateId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("rate_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("RateId"));
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("CurrencyCode")
.IsRequired()
.HasMaxLength(3)
.HasColumnType("char(3)")
.HasColumnName("currency_code");
b.Property<DateOnly>("RateDate")
.HasColumnType("date")
.HasColumnName("rate_date");
b.Property<string>("RateSource")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(30)
.HasColumnType("varchar(30)")
.HasDefaultValue("MANUAL")
.HasColumnName("rate_source");
b.Property<decimal>("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<int>("FiscalYearId")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("fiscal_year_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("FiscalYearId"));
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<DateOnly>("EndDate")
.HasColumnType("date")
.HasColumnName("end_date");
b.Property<bool>("IsClosed")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_closed");
b.Property<DateOnly>("StartDate")
.HasColumnType("date")
.HasColumnName("start_date");
b.Property<string>("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<long>("AssetId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("asset_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("AssetId"));
b.Property<long>("AccumDeprAccountId")
.HasColumnType("bigint")
.HasColumnName("accum_depr_account_id");
b.Property<decimal>("AcquisitionCost")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("acquisition_cost");
b.Property<DateOnly>("AcquisitionDate")
.HasColumnType("date")
.HasColumnName("acquisition_date");
b.Property<long>("AssetAccountId")
.HasColumnType("bigint")
.HasColumnName("asset_account_id");
b.Property<string>("AssetCode")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("varchar(30)")
.HasColumnName("asset_code");
b.Property<string>("AssetName")
.IsRequired()
.HasMaxLength(150)
.HasColumnType("varchar(150)")
.HasColumnName("asset_name");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<long>("DeprExpenseAccountId")
.HasColumnType("bigint")
.HasColumnName("depr_expense_account_id");
b.Property<int>("DepreciationMethod")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasDefaultValue(1)
.HasColumnName("depreciation_method");
b.Property<decimal?>("DepreciationRatePercent")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("depreciation_rate_percent");
b.Property<long>("GainLossAccountId")
.HasColumnType("bigint")
.HasColumnName("gain_loss_account_id");
b.Property<decimal>("ResidualValue")
.ValueGeneratedOnAdd()
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasDefaultValue(0m)
.HasColumnName("residual_value");
b.Property<int>("Status")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasDefaultValue(1)
.HasColumnName("status");
b.Property<int>("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<long>("CorrectionId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("correction_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("CorrectionId"));
b.Property<string>("CorrectedBy")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("corrected_by");
b.Property<long>("CorrectionJournalId")
.HasColumnType("bigint")
.HasColumnName("correction_journal_id");
b.Property<int>("CorrectionType")
.HasColumnType("int")
.HasColumnName("correction_type");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<long>("OriginalJournalId")
.HasColumnType("bigint")
.HasColumnName("original_journal_id");
b.Property<string>("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<long>("JournalId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("journal_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("JournalId"));
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<DateOnly>("EntryDate")
.HasColumnType("date")
.HasColumnName("entry_date");
b.Property<int>("EntryStatus")
.HasColumnType("int")
.HasColumnName("entry_status");
b.Property<bool>("IsPosted")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_posted");
b.Property<bool>("IsReversed")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(false)
.HasColumnName("is_reversed");
b.Property<string>("JournalNo")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("varchar(30)")
.HasColumnName("journal_no");
b.Property<string>("JournalType")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("varchar(30)")
.HasColumnName("journal_type");
b.Property<string>("Narration")
.HasColumnType("text")
.HasColumnName("narration");
b.Property<int>("PeriodId")
.HasColumnType("int")
.HasColumnName("period_id");
b.Property<string>("PreparedBy")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("prepared_by");
b.Property<string>("Reference")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("reference");
b.Property<long?>("ReversalOfId")
.HasColumnType("bigint")
.HasColumnName("reversal_of_id");
b.Property<string>("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<long>("LineId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("line_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("LineId"));
b.Property<long>("AccountId")
.HasColumnType("bigint")
.HasColumnName("account_id");
b.Property<decimal>("BaseCredit")
.ValueGeneratedOnAdd()
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasDefaultValue(0m)
.HasColumnName("base_credit");
b.Property<decimal>("BaseDebit")
.ValueGeneratedOnAdd()
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasDefaultValue(0m)
.HasColumnName("base_debit");
b.Property<long?>("CostCenterId")
.HasColumnType("bigint")
.HasColumnName("cost_center_id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<decimal>("CreditAmount")
.ValueGeneratedOnAdd()
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasDefaultValue(0m)
.HasColumnName("credit_amount");
b.Property<string>("CurrencyCode")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(3)
.HasColumnType("char(3)")
.HasDefaultValue("LKR")
.HasColumnName("currency_code");
b.Property<decimal>("DebitAmount")
.ValueGeneratedOnAdd()
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasDefaultValue(0m)
.HasColumnName("debit_amount");
b.Property<decimal>("ExchangeRate")
.ValueGeneratedOnAdd()
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasDefaultValue(1m)
.HasColumnName("exchange_rate");
b.Property<long>("JournalId")
.HasColumnType("bigint")
.HasColumnName("journal_id");
b.Property<string>("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<long>("LogId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("log_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("LogId"));
b.Property<int>("Action")
.HasColumnType("int")
.HasColumnName("action");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("ModuleLocked")
.HasMaxLength(15)
.HasColumnType("varchar(15)")
.HasColumnName("module_locked");
b.Property<int>("PeriodId")
.HasColumnType("int")
.HasColumnName("period_id");
b.Property<string>("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<long>("ReceivedChequeId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("received_cheque_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("ReceivedChequeId"));
b.Property<string>("AccountHolderName")
.HasMaxLength(200)
.HasColumnType("varchar(200)")
.HasColumnName("account_holder_name");
b.Property<decimal>("Amount")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("amount");
b.Property<long?>("BranchId")
.HasColumnType("bigint")
.HasColumnName("branch_id");
b.Property<DateOnly>("ChequeDate")
.HasColumnType("date")
.HasColumnName("cheque_date");
b.Property<string>("ChequeNo")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("varchar(30)")
.HasColumnName("cheque_no");
b.Property<long>("CompanyId")
.HasColumnType("bigint")
.HasColumnName("company_id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("CreatedBy")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("created_by");
b.Property<long?>("DepositBankAccountId")
.HasColumnType("bigint")
.HasColumnName("deposit_bank_account_id");
b.Property<DateOnly?>("DepositDate")
.HasColumnType("date")
.HasColumnName("deposit_date");
b.Property<string>("DrawerBankBranch")
.HasMaxLength(150)
.HasColumnType("varchar(150)")
.HasColumnName("drawer_bank_branch");
b.Property<string>("DrawerBankName")
.HasMaxLength(150)
.HasColumnType("varchar(150)")
.HasColumnName("drawer_bank_name");
b.Property<string>("Notes")
.HasColumnType("text")
.HasColumnName("notes");
b.Property<DateOnly>("ReceivedDate")
.HasColumnType("date")
.HasColumnName("received_date");
b.Property<long?>("ReceivedFromId")
.HasColumnType("bigint")
.HasColumnName("received_from_id");
b.Property<string>("ReceivedFromName")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("varchar(200)")
.HasColumnName("received_from_name");
b.Property<int>("ReceivedFromType")
.HasColumnType("int")
.HasColumnName("received_from_type");
b.Property<long?>("ReferenceId")
.HasColumnType("bigint")
.HasColumnName("reference_id");
b.Property<string>("ReferenceType")
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("reference_type");
b.Property<int>("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<long>("TemplateId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("template_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("TemplateId"));
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<DateOnly?>("EndDate")
.HasColumnType("date")
.HasColumnName("end_date");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_active");
b.Property<DateOnly>("NextRunDate")
.HasColumnType("date")
.HasColumnName("next_run_date");
b.Property<int>("RecurrencePattern")
.HasColumnType("int")
.HasColumnName("recurrence_pattern");
b.Property<string>("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<long>("LineId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("line_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("LineId"));
b.Property<long>("AccountId")
.HasColumnType("bigint")
.HasColumnName("account_id");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<decimal>("CreditAmount")
.ValueGeneratedOnAdd()
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasDefaultValue(0m)
.HasColumnName("credit_amount");
b.Property<decimal>("DebitAmount")
.ValueGeneratedOnAdd()
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasDefaultValue(0m)
.HasColumnName("debit_amount");
b.Property<long>("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<string>("ConfigKey")
.HasMaxLength(50)
.HasColumnType("varchar(50)")
.HasColumnName("config_key");
b.Property<string>("ConfigValue")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("varchar(255)")
.HasColumnName("config_value");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
b.Property<bool>("IsEditable")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_editable");
b.Property<bool>("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<long>("TaxCodeId")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("tax_code_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("TaxCodeId"));
b.Property<int>("AppliesTo")
.HasColumnType("int")
.HasColumnName("applies_to");
b.Property<int>("CalculationBasis")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasDefaultValue(1)
.HasColumnName("calculation_basis");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)")
.HasColumnName("code");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<DateOnly>("EffectiveFrom")
.HasColumnType("date")
.HasColumnName("effective_from");
b.Property<DateOnly?>("EffectiveTo")
.HasColumnType("date")
.HasColumnName("effective_to");
b.Property<long?>("InputTaxAccountId")
.HasColumnType("bigint")
.HasColumnName("input_tax_account_id");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasDefaultValue(true)
.HasColumnName("is_active");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("varchar(100)")
.HasColumnName("name");
b.Property<long?>("OutputTaxAccountId")
.HasColumnType("bigint")
.HasColumnName("output_tax_account_id");
b.Property<decimal>("RatePercent")
.HasPrecision(38, 10)
.HasColumnType("decimal(38,10)")
.HasColumnName("rate_percent");
b.Property<int>("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<int>("TaxTypeId")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("tax_type_id");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("TaxTypeId"));
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)")
.HasColumnName("code");
b.Property<DateTime>("CreatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("datetime(6)")
.HasColumnName("created_at")
.HasDefaultValueSql("CURRENT_TIMESTAMP(6)");
b.Property<string>("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
}
}
}