Пример #1
0
        public Task ClearAsync()
        {
            IEventContext context = contextFactory();

            foreach (UnPublishedEventEntity entity in context.UnPublishedEvents)
            {
                context.UnPublishedEvents.Remove(entity);
            }

            return(context.SaveAsync());
        }
Пример #2
0
        public Task PublishedAsync(IKey key, string handlerIdentifier)
        {
            GuidKey eventKey = key as GuidKey;

            if (eventKey == null)
            {
                throw Ensure.Exception.NotGuidKey(eventKey.GetType(), "key");
            }

            IEventContext          context = contextFactory();
            UnPublishedEventEntity entity  = context.UnPublishedEvents.FirstOrDefault(e => e.Event.EventType == eventKey.Type && e.Event.EventID == eventKey.Guid);

            if (entity == null)
            {
                return(Task.FromResult(true));
            }

            entity.PublishedToHandlers.Add(new EventPublishedToHandlerEntity(handlerIdentifier));
            return(context.SaveAsync());
        }