Files
fiscalos/src/FiscalOS.Core/Accounts/Account.cs
T

30 lines
760 B
C#
Raw Normal View History

2026-02-13 11:04:50 -06:00
namespace FiscalOS.Core.Accounts;
public sealed class Account : Entity
{
public Guid UserId { get; init; }
2026-02-13 12:03:07 -06:00
public Guid InstitutionId { get; init; }
2026-02-13 12:10:59 -06:00
public Institution? Institution { get; init; }
2026-02-13 11:04:50 -06:00
public string Name { get; init; } = string.Empty;
2026-02-13 12:10:59 -06:00
public AccountMetadata? Metadata { get; init; }
2026-02-13 11:04:50 -06:00
2026-02-14 05:53:41 -06:00
private readonly List<Balance> _balances = [];
public IEnumerable<Balance> Balances => _balances;
2026-02-13 11:04:50 -06:00
public static Account From(Guid institutionId, string name, AccountMetadata accountMetadata)
{
return new()
{
2026-02-13 12:03:07 -06:00
InstitutionId = institutionId,
2026-02-13 11:04:50 -06:00
Name = name,
Metadata = accountMetadata,
};
}
2026-02-14 05:53:41 -06:00
public void AddBalance(Balance balance)
{
ArgumentNullException.ThrowIfNull(balance);
_balances.Add(balance);
}
2026-02-13 11:04:50 -06:00
}