public void RaiseAll(IDomainEventRaiser domainEventRaiser) { if (_isDisposed) { return; } Dispose(); foreach (var domainEvent in _domainEvents) { domainEventRaiser.Raise(domainEvent); } }
public SalesOrder(IDomainEventRaiser observer, CustomerId customer, RefWarehouseId warehouse) { _observer = observer; if (customer == null) { throw new Exception("Customer id cannot be null"); } if (warehouse == null) { throw new Exception("Warehouse id cannot be null"); } Id = new SalesOrderId(Guid.NewGuid()); Customer = customer; _warehouse = warehouse; Status = Status.CreateOpened(); Lines = new Lines(Id, ref _status); }
protected override SalesOrder ReinstantiateAggregate(SalesOrderState state, IDomainEventRaiser observer) { return(new SalesOrder(observer, state)); }
protected abstract TAggregate ReinstantiateAggregate(TState state, IDomainEventRaiser observer);
protected DomainEventRaisingCommitableTemplate(IDomainEventRaiser domainEventRaiser) { _domainEventRaiser = domainEventRaiser; _domainEventScope = DomainEventScope.Start(); }
public SalesOrder(IDomainEventRaiser observer, SalesOrderState state) { _observer = observer; _state = state; }
/// <summary> /// Sets the raiser to be used as current domain event raiser. /// </summary> /// <param name="raiser">The raiser.</param> /// <exception cref="System.ArgumentNullException">raiser;Argument cannot be null</exception> public static void SetRaiser(IDomainEventRaiser raiser) { Instance.InnerCurrent = raiser ?? throw new ArgumentNullException(nameof(raiser), "Argument cannot be null"); }