public override void PreProcess(IFeatureChain featureChain, FeatureAccount featureAccount, Transaction transaction, FeatureData featureData) { if (_chainHandler == null) { _chainHandler = featureChain.GetFeatureChainHandler <GroupChainHandler>(featureData.FeatureId); } var group = featureData as Group; var groupId = group.GroupId; var index = group.GroupIndex; var groupInfo = _chainHandler.GetGroupInfo(groupId); var info = groupInfo.LastTransactionInfo; PreviousGroupTransactions.Set(groupId, info.TransactionId); GroupTransactionsCount.Set(groupId, info.Count); if (index != null) { info = groupInfo.GetLastGroupIndexTransactionInfo(index, true); PreviousGroupIndexTransactions.Set(groupId, index, info.TransactionId); GroupIndexTransactionsCount.Set(groupId, info.Count); } }
public override void PreProcess(IFeatureChain featureChain, FeatureAccount featureAccount, Transaction transaction, FeatureData featureData) { var targetData = featureData as TransactionTarget; var targetHandler = featureChain.GetFeatureChainHandler <TransactionTargetChainHandler>(featureData.FeatureId); var targets = targetData.Targets; foreach (var targetId in targets) { var info = targetHandler?.GetTransactionTargetInfo(targetId)?.LastTransactionInfo ?? LastTransactionCountInfo.Empty; _lastTransactionIdLookup.Set(targetId, info.TransactionId); _lastTransactionCountLookup.Set(targetId, info.Count); } }
public override void PreProcess(IFeatureChain featureChain, FeatureAccount featureAccount, Transaction transaction, FeatureData featureData) { if (_chainHandler == null) { _chainHandler = featureChain.GetFeatureChainHandler <GroupAdministrationChainHandler>(featureData.FeatureId); _nextGroupId = _chainHandler.LastGroupId + 1; } if (transaction.GetFeatureRequest <GroupAdministrationRequest>(out var request)) { var groupId = request.GroupId; var group = _chainHandler.GetGroupInfo(groupId); _lastTransactionIdLookup.Set(groupId, group.AdministrationLastTransactionInfo.TransactionId); } }
public override void UpdateMetaData(IFeatureChain featureChain, Transaction transaction, FeatureData featureData) { if (_chainHandler == null) { _chainHandler = featureChain.GetFeatureChainHandler <GroupChainHandler>(featureData.FeatureId); } var group = featureData as Group; var groupId = group.GroupId; var index = group.GroupIndex; var transactionId = transaction.TransactionId; group.PreviousGroupTransactionId = PreviousGroupTransactions.Update(groupId, transactionId); group.GroupTransactionCount = GroupTransactionsCount.Increase(groupId); if (index != null) { group.PreviousGroupIndexTransactionId = PreviousGroupIndexTransactions.Update(groupId, index, transactionId); group.GroupIndexTransactionCount = GroupIndexTransactionsCount.Increase(groupId); } }
public GroupQueryHandler(Feature feature, IFeatureChain currentChain) : base(feature, currentChain) { _handler = currentChain.GetFeatureChainHandler <GroupChainHandler>(FeatureId); }
public TransactionTargetQueryHandler(Feature feature, IFeatureChain featureChain) : base(feature, featureChain) { _chainHandler = featureChain.GetFeatureChainHandler <TransactionTargetChainHandler>(feature.FeatureId); }
public GroupAdministrationQueryHandler(Feature feature, IFeatureChain currentChain) : base(feature, currentChain) { _handler = currentChain.GetFeatureChainHandler <GroupAdministrationChainHandler>(FeatureId); }