public void PrepareData(EventsContext context, IEnumerable <DomainEvent> events)
        {
            if (events != null && events.Count() > 0)
            {
                var eventsWrapped = events.Select(ev => EventWrapper.Wrap(ev)).ToArray();
                context.AddRange(eventsWrapped);

                context.SaveChanges();
            }
        }
        /// <summary>
        /// Saves the specified event
        /// </summary>
        /// <typeparam name="TEvent">The type of the event to save</typeparam>
        /// <param name="event">The event to save</param>
        public void Save <TEvent>(TEvent @event) where TEvent : DomainEvent
        {
            if (@event is null)
            {
                throw new ArgumentNullException(nameof(@event));
            }

            try
            {
                var ev = EventWrapper.Wrap(@event);
                _context.Events.Add(ev);

                _context.SaveChanges();
            }
            catch
            {
                throw;
            }
        }