/// <inheritdoc /> public bool ToMetadata(StoredEvent storedEvent, out DomainEventMetadata metadata) { if (storedEvent.Metadata?.Any() != true) { Logger.LogTrace($"no metadata saved in event '{storedEvent.EventId}' " + $"of type '{storedEvent.EventType}'"); metadata = new DomainEventMetadata(); return(true); } if (_factoryAssociations.TryGetValue(storedEvent.EventType, out var factoryType)) { try { var serializer = (IDomainEventConverter)Provider.GetService(factoryType); metadata = serializer.DeserializeMetadata(storedEvent.Metadata); return(true); } catch (Exception e) { Logger.LogWarning(e, $"could not deserialize metadata in '{storedEvent.EventType}' using '{factoryType.Name}'"); } } Logger.LogWarning($"event of type '{storedEvent.EventType}' ignored"); metadata = null; return(false); }
public ContractValidated(Guid contractId, Guid clientId, decimal amount, DomainEventMetadata metadata = null) : base(metadata) { ContractId = contractId; ClientId = clientId; Amount = amount; }
public void FillMetadata() { var metadata = new DomainEventMetadata { ["Foo"] = "Bar" }; Assert.Equal("Bar", metadata["Foo"]); }
public void IndexerCaseInsensitive() { var metadata = new DomainEventMetadata { ["Foo"] = "Bar" }; Assert.Equal("Bar", metadata["foo"]); }
public void EventSourcedAggregateRoot_should_invoke_event_specific_apply_methods_when_load_them_from_history_and_update_aggregate_version() { //arrange var sut = FakeEventSourcedAggregateRoot.For("test event-sourced name"); var domainEvents = new[] { new FakeDomainEvent(), new FakeDomainEvent(DomainEventMetadata.Default(), "new name"), new FakeDomainEvent() }; //act sut.LoadFromHistory(domainEvents); //assert sut.Version.Should().Be(3); }
public void DomainEvent_should_be_able_to_adapt_provided_arguments_as_metadata() { //arrange var id = Guid.NewGuid(); var date = DateTime.UtcNow; var @event = new FakeDomainEvent(DomainEventMetadata.For(id, date)); //act && assert @event.Metadata.Should().NotBeNull(); @event.Id.Should().Be(id); @event.OccurredOn.Should().Be(date); }
public BankTransferAdded(Guid bankTransferId, string iban, string recipientName, string details, decimal value, DateTime paymentDate, DomainEventMetadata metadata = null) : base(metadata) { BankTransferId = bankTransferId; Iban = iban; RecipientName = recipientName; Details = details; Value = value; PaymentDate = paymentDate; }
public ExpenseRecipientChanged(Guid expenseId, Guid?expenseRecipientId, int expenseMonth, DomainEventMetadata metadata = null) : base(metadata) { ExpenseId = expenseId; ExpenseRecipientId = expenseRecipientId; ExpenseMonth = expenseMonth; }
public CashWithdrawalAdded(Guid cashWithdrawalId, string cashTerminal, decimal value, DateTime withdrawalDate, DomainEventMetadata metadata = null) : base(metadata) { CashWithdrawalId = cashWithdrawalId; CashTerminal = cashTerminal; Value = value; WithdrawalDate = withdrawalDate; }
public PosPaymentAdded(Guid posPaymentId, string posTerminalCode, decimal value, DateTime paymentDate, DomainEventMetadata metadata = null) : base(metadata) { PosPaymentId = posPaymentId; PosTerminalCode = posTerminalCode; Value = value; PaymentDate = paymentDate; }
public ExchangeAdded(Guid exchangeId, string iban, string exchangeValue, string exchangeRate, string details, decimal value, DateTime paymentDate, DomainEventMetadata metadata = null) : base(metadata) { ExchangeId = exchangeId; Iban = iban; ExchangeValue = exchangeValue; ExchangeRate = exchangeRate; Details = details; Value = value; PaymentDate = paymentDate; }
public CollectionAdded(Guid collectionId, string from, string fromIban, string details, decimal value, DateTime incomeDate, DomainEventMetadata metadata = null) : base(metadata) { CollectionId = collectionId; From = from; FromIban = fromIban; Details = details; Value = value; IncomeDate = incomeDate; }
public ExpenseRecipientAdded(Guid expenseRecipientId, string name, DomainEventMetadata metadata = null) : base(metadata) { ExpenseRecipientId = expenseRecipientId; Name = name; }
public SavingsAccountAdded(string iban, DomainEventMetadata metadata = null) : base(metadata) { Iban = iban; }
public ExpenseRecipientPosTerminalMatchPatternChanged(Guid expenseRecipientId, string posTerminalMatchPattern, DomainEventMetadata metadata = null) : base(metadata) { ExpenseRecipientId = expenseRecipientId; PosTerminalMatchPattern = posTerminalMatchPattern; }
public ContractCreated(Guid contractId, Guid clientId, DomainEventMetadata metadata = null) : base(metadata) { ContractId = contractId; ClientId = clientId; }
public PaymentReceived(Guid paymentId, Guid payableId, Guid?invoiceId, DateTime paymentDate, DomainEventMetadata metadata = null) : base(metadata) { PaymentId = paymentId; PayableId = payableId; InvoiceId = invoiceId; PaymentDate = paymentDate; }
public DirectDebitAdded(string code, Guid expenseRecipientId, DomainEventMetadata metadata = null) : base(metadata) { Code = code; ExpenseRecipientId = expenseRecipientId; }
public SavingsTransactionAdded(Guid savingsTransactionId, SavingsTransactionType savingsTransactionType, decimal value, DateTime transactionDate, int transactionMonth, Guid?sourceId, DomainEventMetadata metadata = null) : base(metadata) { SavingsTransactionId = savingsTransactionId; SavingsTransactionType = savingsTransactionType; Value = value; TransactionDate = transactionDate; TransactionMonth = transactionMonth; SourceId = sourceId; }
public InvoiceCreated(Guid invoiceId, decimal amount, Guid clientId, Guid?contractId, DomainEventMetadata metadata = null) : base(metadata) { InvoiceId = invoiceId; Amount = amount; ClientId = clientId; ContractId = contractId; }
public PosTerminalAdded(string posTerminal, Guid expenseRecipientId, DomainEventMetadata metadata = null) : base(metadata) { PosTerminal = posTerminal; ExpenseRecipientId = expenseRecipientId; }
public ExpenseCategoryAdded(int expenseCategoryId, string name, DomainEventMetadata metadata = null) : base(metadata) { ExpenseCategoryId = expenseCategoryId; Name = name; }
public InvoicePayed(Guid invoiceId, Guid paymentId, DomainEventMetadata metadata = null) : base(metadata) { InvoiceId = invoiceId; PaymentId = paymentId; }
public ExpenseDeleted(Guid expenseId, int expenseMonth, DomainEventMetadata metadata = null) : base(metadata) { ExpenseId = expenseId; ExpenseMonth = expenseMonth; }
public void AccessUnavailableMetadata() { var metadata = new DomainEventMetadata(); Assert.Equal(string.Empty, metadata["Foo"]); }
public ExpenseRecipientCategoryChanged(Guid expenseRecipientId, int?oldExpenseCategoryId, int?newExpenseCategoryId, int expenseMonth, DomainEventMetadata metadata = null) : base(metadata) { ExpenseRecipientId = expenseRecipientId; OldExpenseCategoryId = oldExpenseCategoryId; NewExpenseCategoryId = newExpenseCategoryId; ExpenseMonth = expenseMonth; }
public ExpenseAdded(Guid expenseId, ExpenseType expenseType, decimal value, DateTime expenseDate, Guid?expenseRecipientId, int?expenseCategoryId, string expenseRecipientDetailCode, string details1, string details2, Guid?expenseSourceId, int expenseMonth, DomainEventMetadata metadata = null) : base(metadata) { ExpenseId = expenseId; ExpenseType = expenseType; Value = value; ExpenseDate = expenseDate; ExpenseRecipientId = expenseRecipientId; ExpenseCategoryId = expenseCategoryId; ExpenseRecipientDetailCode = expenseRecipientDetailCode; ExpenseSourceId = expenseSourceId; ExpenseMonth = expenseMonth; Details1 = details1; Details2 = details2; }
public TestDomainEvent(DomainEventMetadata metadata) : base(metadata) { }
public DirectDebitPaymentAdded(Guid directDebitPaymentId, string code, decimal value, string details, DateTime paymentDate, DomainEventMetadata metadata = null) : base(metadata) { DirectDebitPaymentId = directDebitPaymentId; DirectDebitCode = code; Value = value; Details = details; PaymentDate = paymentDate; }
public IbanAdded(string iban, Guid expenseRecipientId, DomainEventMetadata metadata = null) : base(metadata) { Iban = iban; ExpenseRecipientId = expenseRecipientId; }