Removed `SmsCode`, `FinancialStatementId`, and `FinancialStatement` properties, along with their associated methods (`SetFinancialStatement` and `SetNewSmsCode`). Added a new `InvoiceId` property of type `Guid` to serve as a unique identifier for invoices. Updated the constructor to initialize `InvoiceId` and removed the `SmsCode` initialization logic. These changes streamline the `FinancialInvoice` class and improve its alignment with application requirements.
50 lines
1.2 KiB
C#
50 lines
1.2 KiB
C#
using System;
|
|
using _0_Framework.Domain;
|
|
using Company.Domain.FinancialStatmentAgg;
|
|
using CompanyManagment.App.Contracts.FinancialInvoice;
|
|
|
|
namespace Company.Domain.FinancialInvoiceAgg;
|
|
|
|
public class FinancialInvoice:EntityBase
|
|
{
|
|
public int Month { get; private set; }
|
|
public int Year { get; private set; }
|
|
|
|
public FinancialInvoiceStatus Status { get; private set; }
|
|
public DateTime? PaidAt { get; private set; }
|
|
public double Amount { get; private set; }
|
|
public Guid InvoiceId { get; private set; }
|
|
|
|
|
|
public FinancialInvoice(int month, int year, FinancialInvoiceStatus status, double amount)
|
|
{
|
|
Month = month;
|
|
Year = year;
|
|
Status = status;
|
|
Amount = amount;
|
|
InvoiceId = Guid.NewGuid();
|
|
}
|
|
public void SetPaid(DateTime paidAt)
|
|
{
|
|
Status = FinancialInvoiceStatus.Paid;
|
|
PaidAt = paidAt;
|
|
}
|
|
public void SetUnpaid()
|
|
{
|
|
Status = FinancialInvoiceStatus.Unpaid;
|
|
PaidAt = null;
|
|
}
|
|
public void SetCancelled()
|
|
{
|
|
Status = FinancialInvoiceStatus.Cancelled;
|
|
PaidAt = null;
|
|
}
|
|
public void SetRefunded()
|
|
{
|
|
Status = FinancialInvoiceStatus.Refunded;
|
|
PaidAt = null;
|
|
}
|
|
|
|
}
|
|
|