Refactored `FinancialInvoice` to include new properties (`Description`, `PublicId`, `IsActive`) and methods for managing items and statuses. Introduced `FinancialInvoiceItem` for invoice itemization. Updated `PaymentTransaction` to reference `FinancialInvoice`. Enhanced repository and application layers with CRUD operations, advanced search functionality, and integration with contracts. Updated `CompanyContext` with `DbSet<FinancialInvoices>` and `DbSet<FinancialInvoiceItem>`. Created new database tables for `FinancialInvoices` and `FinancialInvoiceItem`, and updated relationships with `PaymentTransactions`. Added DTOs for invoice creation, editing, and searching. Registered `IFinancialInvoiceRepository` for dependency injection.
17 lines
595 B
C#
17 lines
595 B
C#
using Company.Domain.FinancialInvoiceAgg;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
|
|
namespace CompanyManagment.EFCore.Mapping;
|
|
|
|
public class FinancialInvoiceItemMapping : IEntityTypeConfiguration<FinancialInvoiceItem>
|
|
{
|
|
public void Configure(EntityTypeBuilder<FinancialInvoiceItem> builder)
|
|
{
|
|
builder.Property(x=>x.Description).HasMaxLength(800);
|
|
builder.Property(x => x.Type).HasConversion<string>().HasMaxLength(50);
|
|
|
|
builder.HasOne(x => x.FinancialInvoice).WithMany(x => x.Items)
|
|
.HasForeignKey(x => x.FinancialInvoiceId);
|
|
}
|
|
} |