public bool MoveNext() { if (_context == null) { _context = new MessageLogDbContext(_sqlQuery._nameOrConnectionString); IQueryable <MessageLogEntity> queryable = _context.Set <MessageLogEntity>().AsQueryable() .Where(x => x.Kind == StandardMetadata.EventKind); Expression <Func <MessageLogEntity, bool> > where = _sqlQuery._criteria.ToExpression(); if (where != null) { queryable = queryable.Where(where); } _events = queryable.AsEnumerable() .Select(x => this._sqlQuery._serializer.Deserialize <IEvent>(x.Payload)).GetEnumerator(); } return(_events.MoveNext()); }
public void Save(ICommand command) { using (var context = new MessageLogDbContext(nameOrConnectionString)) { var metadata = 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), CreationDate = DateTime.UtcNow.ToString("o"), Payload = serializer.Serialize(command) }); context.SaveChanges(); } }
public void Save(IEvent @event) { using (var context = new MessageLogDbContext(this._nameOrConnectionString)) { IDictionary <string, string> metadata = this._metadataProvider.GetMetadata(@event); context.Set <MessageLogEntity>().Add(new MessageLogEntity() { Id = Guid.NewGuid(), SourceId = @event.SourceId.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), CreationDate = DateTime.UtcNow.ToString("o"), Payload = _serializer.Serialize(@event) }); context.SaveChanges(); } }
public bool MoveNext() { if (context == null) { context = new MessageLogDbContext(sqlQuery.nameOrConnectionString); var queryable = context.Set <MessageLogEntity>().AsQueryable() .Where(x => x.Kind == StandardMetadata.EventKind); var where = sqlQuery.criteria.ToExpression(); if (where != null) { queryable = queryable.Where(where); } events = queryable .AsEnumerable() .Select(x => this.sqlQuery.serializer.Deserialize <IEvent>(x.Payload)) .GetEnumerator(); } return(events.MoveNext()); }