public async Task Handle(AchievementCompletedEvent notification, CancellationToken cancellationToken)
 {
     using (var connection = this._dbConnectionFactory.OpenConnection())
     {
         var achievementCompletionRepository = new AchievementRepository();
         await achievementCompletionRepository.CompletedAsync(connection, notification.AggregateId,
                                                              notification.CompletedOn);
     }
 }
        internal void Complete()
        {
            var completeEvent = new AchievementCompletedEvent(this.AggregateId, DateTime.Now);

            this.RaiseEvent(completeEvent);
        }
 private void Apply(AchievementCompletedEvent obj)
 {
     this.LastCompletedAt = obj.CompletedOn;
 }