public static EventRecord FromBson(BsonDocument doc) { var eventDocument = doc.GetBsonDocument("Event"); var record = new EventRecord() { EventDocument = eventDocument, Metadata = EventMetadata.FromBson(eventDocument.GetBsonDocument("Metadata")), Handlers = EventHandlerRecordCollection.FromBson(doc.GetBsonArray("Handlers")) }; return record; }
/// <summary> /// From Bson /// </summary> public static EventRecordCollection FromBson(BsonValue doc) { var list = new List <EventRecord>(); if (!doc.IsBsonArray) { return(new EventRecordCollection(list)); } var evnts = doc.AsBsonArray; var errorsCount = 0; foreach (var evnt in evnts) { var record = EventRecord.FromBson(evnt.AsBsonDocument); list.Add(record); errorsCount += record.Handlers.Errors; } return(new EventRecordCollection(list) { _errors = errorsCount }); }