internal RecommendedQuoteManager(IQuoteObserver <T> observer, IQuoteStorageService <T> quoteStorageService, ILockManager lockManager, ITradeExecuter <T> tradeExecuter, IEnumerable <Func <T, bool> > quoteValidationPredicates = null) { _observer = observer ?? throw new ArgumentNullException(nameof(observer)); StorageService = quoteStorageService ?? throw new ArgumentNullException(nameof(quoteStorageService)); _lockManager = lockManager; _tradeExecuter = tradeExecuter; _quoteValidationPredicates = (quoteValidationPredicates ?? QuoteValidators.DefaultQuoteValidators <T>()).ToList(); }
internal CourseLockedTradeExecuter(IEnumerable <Func <T, bool> > quoteValidationPredicates = null) { _quoteValidationPredicates = (quoteValidationPredicates ?? QuoteValidators.DefaultQuoteValidators <T>()).ToList(); }