public void TearDown() { using (var context = new MessageLogDbContext(_dbName)) { if (context.Database.Exists()) { context.Database.Delete(); } } }
public void Dispose() { using (var context = new MessageLogDbContext(dbName)) { if (context.Database.Exists()) { context.Database.Delete(); } } }
public given_a_sql_log_with_three_events() { using (var context = new MessageLogDbContext(dbName)) { if (context.Database.Exists()) { context.Database.Delete(); } context.Database.Create(); } this.eventA = new EventA(); this.eventB = new EventB(); this.eventC = new EventC(); var metadata = Mock.Of <IMetadataProvider>(x => x.GetMetadata(eventA) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceA" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "A" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventA" }, { StandardMetadata.TypeName, "EventA" }, } && x.GetMetadata(eventB) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventB.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceB" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventB" }, { StandardMetadata.TypeName, "EventB" }, } && x.GetMetadata(eventC) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventC.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceC" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "AnotherNamespace" }, { StandardMetadata.FullName, "AnotherNamespace.EventC" }, { StandardMetadata.TypeName, "EventC" }, }); this.metadata = Mock.Get(metadata); this.sut = new SqlMessageLog(dbName, new JsonTextSerializer(), metadata); this.sut.Save(eventA); this.sut.Save(eventB); this.sut.Save(eventC); }
public void Dispose() { if (context != null) { context.Dispose(); context = null; GC.SuppressFinalize(this); } if (commands != null) { try { commands.Dispose(); }catch (ObjectDisposedException) { } } }
public void Dispose() { if (context != null) { context.Dispose(); context = null; GC.SuppressFinalize(this); } if (events != null) { events.Dispose(); } }
public void Setup() { using (var context = new MessageLogDbContext(_dbName)) { if (context.Database.Exists()) { context.Database.Delete(); } context.Database.Create(); } _eventA = new EventA(); _eventB = new EventB(); _eventC = new EventC(); var metadata = Mock.Of <IMetadataProvider>(x => x.GetMetadata(_eventA) == new Dictionary <string, string> { { StandardMetadata.SourceId, _eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceA" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "A" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventA" }, { StandardMetadata.TypeName, "EventA" } } && x.GetMetadata(_eventB) == new Dictionary <string, string> { { StandardMetadata.SourceId, _eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceB" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventB" }, { StandardMetadata.TypeName, "EventB" } } && x.GetMetadata(_eventC) == new Dictionary <string, string> { { StandardMetadata.SourceId, _eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceC" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "AnotherNamespace" }, { StandardMetadata.FullName, "AnotherNamespace.EventC" }, { StandardMetadata.TypeName, "EventC" } }); this._metadata = Mock.Get(metadata); this._messageLog = new SqlMessageLog(_dbName, new JsonTextSerializer(), metadata); this._messageLog.Save(_eventA); this._messageLog.Save(_eventB); this._messageLog.Save(_eventC); }
public bool MoveNext() { if (context == null) { context = new MessageLogDbContext(sqlQuery.nameOrConnectionString); var queryable = context.Set <MessageLogEntity>().AsQueryable() .Where(x => x.Kind == StandardMetadata.CommandKind); var where = sqlQuery.criteria.ToExpression(); if (where != null) { queryable = queryable.Where(where); } commands = queryable .AsEnumerable() .Select(x => this.sqlQuery.serializer.Deserialize <ICommand>(x.Payload)) .GetEnumerator(); } return(commands.MoveNext()); }
public void Save(ICommand command) { using (var context = new MessageLogDbContext()) { var metadata = this.metadataProvider.GetMetadata(command); context.Set <MessageLogEntity>().Add(new MessageLogEntity { Id = Guid.NewGuid(), SourceId = command.Id.ToString(), Kind = metadata.TryGetValue(StandardMetadata.Kind), AssemblyName = metadata.TryGetValue(StandardMetadata.AssemblyName), FullName = metadata.TryGetValue(StandardMetadata.FullName), Namespace = metadata.TryGetValue(StandardMetadata.Namespace), TypeName = metadata.TryGetValue(StandardMetadata.TypeName), SourceType = metadata.TryGetValue(StandardMetadata.SourceType) as string, CreationDate = DateTime.UtcNow.ToString("o"), Payload = serializer.Serialize <string>(command), }); context.SaveChanges(); } }