public ITransactionBuilder WithDescription(TransactionDescription description) { return(new TransactionBuilder( Currency, Type, description, Provider, Metadata)); }
private TransactionBuilder( Currency currency, TransactionType type, TransactionDescription description, IDateTimeProvider provider, TransactionMetadata?metadata ) { Currency = currency; Type = type; Description = description; Provider = provider; Metadata = metadata; }
public Transaction( Currency currency, TransactionDescription description, TransactionType type, IDateTimeProvider provider, TransactionMetadata?metadata = null ) { Timestamp = provider.DateTime; Currency = currency; Description = description; Type = type; Status = TransactionStatus.Pending; Metadata = metadata ?? new TransactionMetadata(); }