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(); }
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); }
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); }
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()); }
public async Task AddSubscriberAsync(Subscriber subscriber) { logger.LogDebug("Adding Subscriber"); context.Subscribers.Add(mapper.Map <SubscriberEntity>(subscriber)); await context.SaveChangesAsync(); }