public void Then_it_should_be_serialized_to_json() { var convertedItems = RawDataRepository.Load(_persistenceId); var serializer = new WireJsonSerializer(); var restoredFromJson = convertedItems.Select(i => serializer.FromBinary(i.Payload, Type.GetType(i.Manifest))); CollectionAssert.AllItemsAreNotNull(restoredFromJson); }
public void Test() { _original = (SampleDomainEvent) new SampleDomainEvent(1223, Guid.NewGuid()).CloneWithSaga(Guid.NewGuid()); var ser = new WireJsonSerializer(); var bytes = ser.ToBinary(_original); _restored = (SampleDomainEvent)ser.FromBinary(bytes, typeof(SampleDomainEvent)); }
public bool IsRestorable(object original, out string difference) { var bytes = _serializer.ToBinary(original); var restored = _serializer.FromBinary(bytes, original.GetType()); var comparisonResult = _compareLogic.Compare(original, restored); difference = comparisonResult.AreEqual ? null : comparisonResult.DifferencesString; return(comparisonResult.AreEqual); }
public AggregateVersion <T>[] Load <T>(Guid id) where T : IAggregate { var serializer = new WireJsonSerializer(); using (var repo = new RawSnapshotsRepository(_writeString)) return(repo.Load(AggregateActorName.New <T>(id).Name) .Select(s => { var memento = (IMemento)serializer.FromBinary(s.Snapshot, typeof(IMemento)); var aggregate = (T)_aggregatesConstructor.Build(typeof(T), id, memento); aggregate.ClearUncommittedEvents(); //in case json will call public constructor return new AggregateVersion <T>(aggregate, s.Timestamp); }).ToArray()); }
public DomainEvent[] Load(string id) { return (_rawDataRepo.Load(id) .Select(d => { try { return _serializer.FromBinary(d.Payload, Type.GetType(d.Manifest)); } catch (NullReferenceException ex) { throw new PersistanceFailureException(d, ex); } }) .Cast <DomainEvent>() .ToArray()); }