/// <summary> /// Operators the added to estate event. /// </summary> /// <param name="domainEvent">The domain event.</param> private void PlayEvent(OperatorAddedToEstateEvent domainEvent) { Operator @operator = Operator.Create(domainEvent.OperatorId, domainEvent.Name, domainEvent.RequireCustomMerchantNumber, domainEvent.RequireCustomMerchantNumber); this.Operators.Add(@operator); }
public void EstateDomainEventHandler_OperatorAddedToEstateEvent_EventIsHandled() { OperatorAddedToEstateEvent operatorAddedToEstateEvent = TestData.OperatorAddedToEstateEvent; Mock <IEstateReportingRepository> estateReportingRepository = new Mock <IEstateReportingRepository>(); EstateDomainEventHandler eventHandler = new EstateDomainEventHandler(estateReportingRepository.Object); Logger.Initialise(NullLogger.Instance); Should.NotThrow(async() => { await eventHandler.Handle(operatorAddedToEstateEvent, CancellationToken.None); }); }
/// <summary> /// Adds the operator. /// </summary> /// <param name="operatorId">The operator identifier.</param> /// <param name="operatorName">Name of the operator.</param> /// <param name="requireCustomMerchantNumber">if set to <c>true</c> [require custom merchant number].</param> /// <param name="requireCustomTerminalNumber">if set to <c>true</c> [require custom terminal number].</param> public void AddOperator(Guid operatorId, String operatorName, Boolean requireCustomMerchantNumber, Boolean requireCustomTerminalNumber) { Guard.ThrowIfNullOrEmpty(operatorName, typeof(ArgumentNullException), "Operator name must be provided when adding a new operator"); this.CheckEstateHasBeenCreated(); this.CheckOperatorHasNotAlreadyBeenCreated(operatorId, operatorName); OperatorAddedToEstateEvent operatorAddedToEstateEvent = new OperatorAddedToEstateEvent(this.AggregateId, operatorId, operatorName, requireCustomMerchantNumber, requireCustomTerminalNumber); this.ApplyAndAppend(operatorAddedToEstateEvent); }
public void OperatorAddedToEstateEvent_CanBeCreated_IsCreated() { OperatorAddedToEstateEvent operatorAddedToEstateEvent = new OperatorAddedToEstateEvent(TestData.EstateId, TestData.OperatorId, TestData.OperatorName, TestData.RequireCustomMerchantNumberFalse, TestData.RequireCustomTerminalNumberFalse); operatorAddedToEstateEvent.ShouldNotBeNull(); operatorAddedToEstateEvent.AggregateId.ShouldBe(TestData.EstateId); operatorAddedToEstateEvent.EventId.ShouldNotBe(Guid.Empty); operatorAddedToEstateEvent.EstateId.ShouldBe(TestData.EstateId); operatorAddedToEstateEvent.OperatorId.ShouldBe(TestData.OperatorId); operatorAddedToEstateEvent.Name.ShouldBe(TestData.OperatorName); operatorAddedToEstateEvent.RequireCustomMerchantNumber.ShouldBe(TestData.RequireCustomMerchantNumberFalse); operatorAddedToEstateEvent.RequireCustomTerminalNumber.ShouldBe(TestData.RequireCustomTerminalNumberFalse); }
/// <summary> /// Handles the specific domain event. /// </summary> /// <param name="domainEvent">The domain event.</param> /// <param name="cancellationToken">The cancellation token.</param> private async Task HandleSpecificDomainEvent(OperatorAddedToEstateEvent domainEvent, CancellationToken cancellationToken) { await this.EstateReportingRepository.AddEstateOperator(domainEvent, cancellationToken); }