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.
50 lines
1.4 KiB
C#
50 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using _0_Framework.Domain;
|
|
using Company.Domain.FinancialInvoiceAgg;
|
|
using Company.Domain.FinancialTransactionAgg;
|
|
|
|
namespace Company.Domain.FinancialStatmentAgg;
|
|
|
|
public class FinancialStatment : EntityBase
|
|
|
|
{
|
|
public FinancialStatment(long contractingPartyId, string contractingPartyName)
|
|
{
|
|
ContractingPartyId = contractingPartyId;
|
|
ContractingPartyName = contractingPartyName;
|
|
PublicId = Guid.NewGuid();
|
|
FinancialTransactionList = [];
|
|
}
|
|
|
|
public FinancialStatment()
|
|
{
|
|
FinancialTransactionList = new List<FinancialTransaction>();
|
|
}
|
|
public long ContractingPartyId { get; private set; }
|
|
public string ContractingPartyName { get; private set; }
|
|
public Guid PublicId { get; private set; }
|
|
|
|
[NotMapped]
|
|
public string PublicIdStr => PublicId.ToString("N");
|
|
|
|
public List<FinancialTransaction> FinancialTransactionList { get; set; }
|
|
|
|
|
|
public void SetPublicId()
|
|
{
|
|
PublicId = Guid.NewGuid();
|
|
}
|
|
|
|
public void AddFinancialTransaction(FinancialTransaction financialTransaction)
|
|
{
|
|
if (financialTransaction == null)
|
|
throw new ArgumentNullException(nameof(financialTransaction));
|
|
FinancialTransactionList.Add(financialTransaction);
|
|
}
|
|
|
|
} |