public override IKeyedTransaction CreateKeyedTransaction(IDehydratedTransaction dehydratedTransaction) { ITransaction transaction = this.CreateTransaction(dehydratedTransaction); if (transaction is IKeyedTransaction keyedTransaction) { return(keyedTransaction); } throw new ApplicationException("Created transaction is not keyed."); }
public override ITransaction CreateTransaction(IDehydratedTransaction dehydratedTransaction) { IDataRehydrator rehydrator = DataSerializationFactory.CreateRehydrator(dehydratedTransaction.Header); var version = new ComponentVersion <TransactionType>(); version.Rehydrate(rehydrator); rehydrator.Rewind2Start(); return(this.CreateTransation(version)); }