2026-03-01 20:35:33 -06:00
|
|
|
namespace FiscalOS.Infra.Transactions.Plaid;
|
|
|
|
|
|
|
|
|
|
public static class PlaidExtensions
|
|
|
|
|
{
|
|
|
|
|
#pragma warning disable CA1034
|
2026-03-03 07:36:09 -06:00
|
|
|
extension(Going.Plaid.Entity.Transaction transaction)
|
2026-03-01 20:35:33 -06:00
|
|
|
{
|
2026-03-03 05:09:03 -06:00
|
|
|
public string Merchant => transaction.MerchantName ?? "Unknown merchant";
|
2026-03-01 20:35:33 -06:00
|
|
|
public string Description => transaction.OriginalDescription ?? "";
|
|
|
|
|
public DateTimeOffset PostedDate => transaction.Datetime ?? (
|
|
|
|
|
transaction.Date.HasValue
|
|
|
|
|
? new DateTimeOffset(
|
|
|
|
|
transaction.Date.Value.Year,
|
|
|
|
|
transaction.Date.Value.Month,
|
|
|
|
|
transaction.Date.Value.Day,
|
|
|
|
|
0,
|
|
|
|
|
0,
|
|
|
|
|
0,
|
|
|
|
|
TimeSpan.Zero
|
|
|
|
|
)
|
|
|
|
|
: throw new InvalidOperationException($"Transaction {transaction.TransactionId} does not have a valid date or datetime")
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|