예제 #1
0
        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();
            }
        }