コード例 #1
0
        /// <summary>
        /// Marks the message as delivered.
        /// </summary>
        /// <param name="providerStatus">The provider status.</param>
        /// <param name="deliveredDateTime">The delivered date time.</param>
        public void MarkMessageAsDelivered(String providerStatus,
                                           DateTime deliveredDateTime)
        {
            this.CheckMessageCanBeSetToDelivered();

            EmailMessageDeliveredEvent messageDeliveredEvent = new EmailMessageDeliveredEvent(this.AggregateId, providerStatus, deliveredDateTime);

            this.ApplyAndAppend(messageDeliveredEvent);
        }
        public void EmailMessageDeliveredEvent_CanBeCreated_IsCreated()
        {
            EmailMessageDeliveredEvent messageDeliveredEvent =
                new EmailMessageDeliveredEvent(TestData.MessageId, TestData.ProviderStatusDescription, TestData.DeliveredDateTime);

            messageDeliveredEvent.ShouldNotBeNull();
            messageDeliveredEvent.AggregateId.ShouldBe(TestData.MessageId);
            messageDeliveredEvent.EventId.ShouldNotBe(Guid.Empty);
            messageDeliveredEvent.MessageId.ShouldBe(TestData.MessageId);
            messageDeliveredEvent.ProviderStatus.ShouldBe(TestData.ProviderStatusDescription);
            messageDeliveredEvent.DeliveredDateTime.ShouldBe(TestData.DeliveredDateTime);
        }
コード例 #3
0
 /// <summary>
 /// Plays the event.
 /// </summary>
 /// <param name="domainEvent">The domain event.</param>
 private void PlayEvent(EmailMessageDeliveredEvent domainEvent)
 {
     this.MessageStatus = MessageStatus.Delivered;
 }