public async Task InsertNetworkEventType(Model.InsertNetworkEventTypeCommand command) { using (var ctx = IOC.CreateNetworkTrackerContext()) { var eventType = ctx.EventTypes.Where(x => x.Type == command.Value).FirstOrDefault(); if (eventType == null) { var newType = new NetworkTracker.Database.Model.EventType() { Type = command.Value }; await ctx.EventTypes.AddAsync(newType); await ctx.SaveChangesAsync(); } } }
public async Task DatabaseConstructs() { using (var ctx = InitializeWithProvider()) { // add event type var testType = new NetworkTracker.Database.Model.EventType() { Type = "UnitTestType" }; await ctx.EventTypes.AddAsync(testType); // add event var testEvent = new NetworkTracker.Database.Model.NetworkEvent() { EventType = testType, CreateTime = DateTimeOffset.UtcNow, Value = "UnitTestValue" }; await ctx.NetworkEvents.AddAsync(testEvent); // attempt to read back out var resultType = await ctx.EventTypes.FindAsync(testType.EventTypeId); var resultEvent = await ctx.NetworkEvents.FindAsync(testEvent.NetworkEventId); Trace.WriteLine($"Test Type: {{ Id: {testType.EventTypeId} , Type: {testType.Type}}}"); Trace.WriteLine($"Test Event: {{ Id: {testEvent.NetworkEventId} , EventType: {testEvent.EventType.Type} , CreateTime: {testEvent.CreateTime} , Value: {testEvent.Value}}}"); Trace.WriteLine($"Result Type: {{ Id: {resultType.EventTypeId} , Type: {resultType.Type}}}"); Trace.WriteLine($"Result Event: {{ Id: {resultEvent.NetworkEventId} , EventType: {resultEvent.EventType.Type} , CreateTime: {resultEvent.CreateTime} , Value: {resultEvent.Value}}}"); Assert.AreEqual(testType, resultType); Assert.AreEqual(testEvent, resultEvent); } }