Пример #1
0
        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
            });
        }