public void Rollback() { try { } finally { this._transactionState = FluorineFx.Data.TransactionState.RolledBack; } }
public void Commit() { if (this._rollbackOnly) { this.Rollback(); } else { try { int num; IMessage message2; UpdateCollectionMessage message4; this.ProcessRefreshFills(); this._pushMessages = new ArrayList(); for (num = 0; num < this._processedMessageBatches.Count; num++) { MessageBatch messageBatch = this._processedMessageBatches[num] as MessageBatch; if ((messageBatch.Messages != null) && (messageBatch.Messages.Count > 0)) { DataDestination destination = this._dataService.GetDestination(messageBatch.IncomingMessage) as DataDestination; try { destination.SequenceManager.ManageMessageBatch(messageBatch, this); } catch (Exception exception) { ErrorMessage errorMessage = new MessageException(exception).GetErrorMessage(); errorMessage.correlationId = messageBatch.IncomingMessage.messageId; errorMessage.destination = messageBatch.IncomingMessage.destination; messageBatch.Messages.Clear(); messageBatch.Messages.Add(errorMessage); } for (int i = 0; i < messageBatch.Messages.Count; i++) { message2 = messageBatch.Messages[i] as IMessage; if (!(message2 is ErrorMessage)) { this._pushMessages.Add(message2); } } } this._outgoingMessages.AddRange(messageBatch.Messages); } for (num = 0; num < this._pushMessages.Count; num++) { message2 = this._pushMessages[num] as IMessage; DataMessage message3 = message2 as DataMessage; if (message3 != null) { this.PushMessage(this.GetSubscribers(message2), message2); } } foreach (DictionaryEntry entry in this._clientUpdateCollectionMessages) { message4 = entry.Value as UpdateCollectionMessage; this._outgoingMessages.Add(message4); this.PushMessage(this.GetSubscribers(message4), message4); } foreach (DictionaryEntry entry in this._updateCollectionMessages) { message4 = entry.Value as UpdateCollectionMessage; this._outgoingMessages.Add(message4); this.PushMessage(this.GetSubscribers(message4), message4); } } finally { this._transactionState = FluorineFx.Data.TransactionState.Committed; } } }