Table of Contents

Class Invoice

Namespace
arolariu.Backend.Domain.Invoices.DDD.AggregatorRoots.Invoices
Assembly
arolariu.Backend.Domain.Invoices.dll

The Invoice model as "represented" in the Application Domain.

public sealed class Invoice : NamedEntity<Guid>, IAuditable
Inheritance
Invoice
Implements
Inherited Members

Properties

AdditionalMetadata

The invoice additional metadata. This metadata is used to store additional information about the invoice. Metadata is used to generate the invoice statistics.

[JsonPropertyOrder(11)]
public IDictionary<string, string> AdditionalMetadata { get; private set; }

Property Value

IDictionary<string, string>

Category

The invoice category.

[JsonPropertyOrder(5)]
public InvoiceCategory Category { get; set; }

Property Value

InvoiceCategory

Items

The invoice 1:*? - item relationship.

[JsonPropertyOrder(9)]
public ICollection<Product> Items { get; init; }

Property Value

ICollection<Product>

MerchantReference

The invoice's possible merchant relationship.

[JsonPropertyOrder(8)]
public Guid MerchantReference { get; set; }

Property Value

Guid

PaymentInformation

Payment information (currency, total amount, total tax).

[JsonPropertyOrder(7)]
public PaymentInformation PaymentInformation { get; set; }

Property Value

PaymentInformation

PhotoLocation

The invoice photo location.

[JsonPropertyOrder(6)]
public required Uri PhotoLocation { get; set; }

Property Value

Uri

PossibleRecipes

Possible recipes for the invoice.

[JsonPropertyOrder(10)]
public ICollection<Recipe> PossibleRecipes { get; init; }

Property Value

ICollection<Recipe>

SharedWith

The list of users that have access to this invoice.

[JsonPropertyOrder(4)]
public ICollection<Guid> SharedWith { get; init; }

Property Value

ICollection<Guid>

UserIdentifier

The invoice 1:1 user relationship (owner).

[JsonPropertyOrder(3)]
public required Guid UserIdentifier { get; set; }

Property Value

Guid

id

The identity of the entity.

[JsonPropertyName("id")]
[JsonPropertyOrder(0)]
public override required Guid id { get; init; }

Property Value

Guid