Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 5
0
 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());
 }