private void When(Events.V1.TransactionDetailAssignedToTransactionDomainEvent @event) => With(this, state => { var detailState = PaymentTransactionDetail.Create(this.Id, @event.Description); detailState.ApplyEvent(@event); state._paymentTransactionDetails.Add(detailState); });
public void RestoreSnapshot(object snapshotState) => With(this, state => { var snapshot = (PaymentTransactionSnapshot)snapshotState; state.Id = snapshot.Id; state._transactionDateTime = snapshot.TransactionDateTime; state._merchantTransactionDateTime = snapshot.MerchantTransactionDateTime; state._msisdn = snapshot.Msisdn; state._description = snapshot.Description; state._orderId = snapshot.OrderId; state._money = Money.Create(Convert.ToDecimal(snapshot.Amount), 0); state._paymentTransactionDetails = snapshot.PaymentTransactionDetails.Select(d => { var detail = PaymentTransactionDetail.Create(Guid.Parse(d.PaymentTransactionStateId), d.Description); return(detail); }).ToList(); });