public async Task AddObjectTypeAsync(string ObjectType)
 {
     logger.LogDebug("Adding ObjectType");
     context.ObjectMetadata.Add(new ObjectMetadataEntity {
         ObjectType = ObjectType
     });
     await context.SaveChangesAsync();
 }
        public async Task EnqueueMessageAsync(SubscriberMessage message)
        {
            logger.LogInformation("Adding Message To Queue");
            var entity = mapper.Map <SubscriberMessageEntity>(message);

            context.SubscriberMessages.Add(entity);
            await context.SaveChangesAsync();
        }
Exemple #3
0
        public async Task RemoveAllObjectsOfTypeAsync(string ObjectType)
        {
            logger.LogInformation("Removing Objects By Type");
            var toRemove = await context.ObjectEntities
                           .Where(e => e.ObjectType == ObjectType)
                           .ToArrayAsync();

            context.ObjectEntities.RemoveRange(toRemove);
            await context.SaveChangesAsync();
        }
        public async Task <long> EnqueueEventAsync(ServerEventMessage message)
        {
            logger.LogInformation("Adding Event To Queue");
            var entity = mapper.Map <ServerEventMessageEntity>(message);

            context.EventMessages.Add(entity);
            await context.SaveChangesAsync();

            return(entity.LogId);
        }
Exemple #5
0
        public async Task DequeueEventAsync_Removes_And_Saves()
        {
            // Setup
            var setupcontext = new EventServerContext(options);

            setupcontext.AddRange(
                new ServerEventMessageEntity {
                LogId = 4, ObjectId = "TEST", ObjectType = "TESTTYPE", Topic = "TOPIC", EventJson = "EVENT_JSON"
            });
            await setupcontext.SaveChangesAsync();

            // Test
            var store = new SqlEventQueueStore(mapper, logger, context);
            await store.DequeueEventAsync(4);

            // Assert
            var testcontext = new EventServerContext(options);
            var items       = await testcontext.EventMessages.CountAsync();

            Assert.AreEqual(0, items);
        }
Exemple #6
0
        public async Task PoisonEventsAsync_Moves_To_Poison()
        {
            // Setup
            var setupcontext = new EventServerContext(options);

            setupcontext.AddRange(
                new PoisonEventMessageEntity {
                LogId = 4, ObjectId = "TEST", ObjectType = "TESTTYPE", Topic = "TOPIC", EventJson = "EVENT_JSON"
            },
                new PoisonEventMessageEntity {
                LogId = 5, ObjectId = "TEST", ObjectType = "TESTTYPE", Topic = "TOPIC", EventJson = "EVENT_JSON"
            },
                new PoisonEventMessageEntity {
                LogId = 6, ObjectId = "TEST", ObjectType = "TESTTYPE", Topic = "TOPIC", EventJson = "EVENT_JSON"
            });
            await setupcontext.SaveChangesAsync();

            // Test
            var store = new SqlEventQueueStore(mapper, logger, context);
            var items = await store.PoisonEventsAsync(2);

            // Assert
            Assert.AreEqual(2, items.Count());
        }
Exemple #7
0
 public async Task AddSubscriberAsync(Subscriber subscriber)
 {
     logger.LogDebug("Adding Subscriber");
     context.Subscribers.Add(mapper.Map <SubscriberEntity>(subscriber));
     await context.SaveChangesAsync();
 }