public IUnitOfWork CreateUnitOfWork() { if (connection.State != ConnectionState.Open) { connection.Open(); } IDbTransaction transaction = connection.BeginTransaction(); var unitOfWork = new SurveyUnitOfWork(transaction, RemoveTransaction, RemoveTransaction); readWriteLock.EnterWriteLock(); workList.AddLast(unitOfWork); readWriteLock.ExitWriteLock(); return(unitOfWork); }
private void RemoveTransaction(SurveyUnitOfWork unitOfWork) { readWriteLock.EnterWriteLock(); workList.Remove(unitOfWork); readWriteLock.ExitWriteLock(); }