/// <summary>
        /// Updates the process to errored.
        /// </summary>
        /// <param name="erroredDateTime">The errored date time.</param>
        /// <param name="errorMessage">The error message.</param>
        public void UpdateProcessToErrored(DateTime erroredDateTime,
                                           String errorMessage)
        {
            this.EnsureProcessCanBeMarkedErrored();

            HandicapCalculationProcessChangedToErroredEvent handicapCalculationProcessChangedToErroredEvent =
                HandicapCalculationProcessChangedToErroredEvent.Create(this.AggregateId, erroredDateTime, errorMessage);

            this.ApplyAndPend(handicapCalculationProcessChangedToErroredEvent);
        }
        public void HandicapCalculationProcessChangedToErroredEvent_CanBeCreated_IsCreated()
        {
            HandicapCalculationProcessChangedToErroredEvent handicapCalculationProcessChangedToErroredEvent =
                HandicapCalculationProcessChangedToErroredEvent.Create(HandicapCalculationProcessTestData.AggregateId,
                                                                       HandicapCalculationProcessTestData.ErroredDateTime,
                                                                       HandicapCalculationProcessTestData.ErrorMessage);

            handicapCalculationProcessChangedToErroredEvent.ShouldNotBeNull();
            handicapCalculationProcessChangedToErroredEvent.EventId.ShouldNotBe(Guid.Empty);
            handicapCalculationProcessChangedToErroredEvent.EventCreatedDateTime.ShouldNotBe(DateTime.MinValue);
            handicapCalculationProcessChangedToErroredEvent.AggregateId.ShouldBe(HandicapCalculationProcessTestData.AggregateId);
            handicapCalculationProcessChangedToErroredEvent.ErroredDateTime.ShouldBe(HandicapCalculationProcessTestData.ErroredDateTime);
            handicapCalculationProcessChangedToErroredEvent.ErrorMessage.ShouldBe(HandicapCalculationProcessTestData.ErrorMessage);
        }
 /// <summary>
 /// Plays the event.
 /// </summary>
 /// <param name="domainEvent">The domain event.</param>
 private void PlayEvent(HandicapCalculationProcessChangedToErroredEvent domainEvent)
 {
     this.Status          = HandicapProcessStatus.Errored;
     this.ErrorMessage    = domainEvent.ErrorMessage;
     this.ErroredDateTime = domainEvent.ErroredDateTime;
 }