public void ExecuteOperation(ref MapResponse response) { if (OperationEngine != null) { using (IDbConnectionAbstraction mapDbConnection = GlymaSession.ConnectionFactory.CreateMapDbConnection()) { OperationEngine.ExecuteTransaction(mapDbConnection, this, ref response); } } }
public MapResponse CompleteTransaction(IGlymaSession glymaSession, Guid sessionId) { MapSession session = glymaSession.Session; MapResponse response = new MapResponse(); using (IDbConnectionAbstraction parametersDbConnection = glymaSession.ConnectionFactory.CreateParametersDbConnection()) { while (session.Count > 0) { MapTransactionWrapper transaction = session.Dequeue(); transaction.ExecuteOperation(ref response); transaction.ResponseParameter.PersistSessionObject(parametersDbConnection); } SessionFinalisation sessionFinalisation = new SessionFinalisation(glymaSession, sessionId); sessionFinalisation.ExecuteCompleteSession(); return response; } }