/// <summary> /// Marks the message as bounced. /// </summary> /// <param name="providerStatus">The provider status.</param> /// <param name="bouncedDateTime">The bounced date time.</param> public void MarkMessageAsBounced(String providerStatus, DateTime bouncedDateTime) { this.CheckMessageCanBeSetToBounced(); EmailMessageBouncedEvent messageBouncedEvent = new EmailMessageBouncedEvent(this.AggregateId, providerStatus, bouncedDateTime); this.ApplyAndAppend(messageBouncedEvent); }
public void EmailMessageBouncedEvent_CanBeCreated_IsCreated() { EmailMessageBouncedEvent messageBouncedEvent = new EmailMessageBouncedEvent(TestData.MessageId, TestData.ProviderStatusDescription, TestData.BouncedDateTime); messageBouncedEvent.ShouldNotBeNull(); messageBouncedEvent.AggregateId.ShouldBe(TestData.MessageId); messageBouncedEvent.EventId.ShouldNotBe(Guid.Empty); messageBouncedEvent.MessageId.ShouldBe(TestData.MessageId); messageBouncedEvent.ProviderStatus.ShouldBe(TestData.ProviderStatusDescription); messageBouncedEvent.BouncedDateTime.ShouldBe(TestData.BouncedDateTime); }
/// <summary> /// Plays the event. /// </summary> /// <param name="domainEvent">The domain event.</param> private void PlayEvent(EmailMessageBouncedEvent domainEvent) { this.MessageStatus = MessageStatus.Bounced; }