public void CancelInactiveTrade() { using (var trs = transactionScopeProvider.CreateTransactionScope()) { var inactiveTrades = tradeRepository.GetTradesThatAreHoursOld(2) .Where(t => t.TradeStatusID == (int)TradeStatusEnum.Ongoing) .ToList(); foreach (var trade in inactiveTrades) { if (ShouldAbortTrade(trade)) { AbortTrade(trade, "inactivity"); } } trs.Complete(); } }