示例#1
0
 public BookOrdersController(AddBookTitleRequestUseCase addBookTitleRequestUseCase,
                             ApproveBookOrderUseCase approveBookOrderUseCase,
                             SendBookOrderUseCase sendBookOrderUseCase,
                             GetAllBookOrdersUseCase getAllBookOrdersUseCase,
                             DeleteBookOrdersUseCase deleteBookOrdersUseCase)
 {
     if (addBookTitleRequestUseCase == null)
     {
         throw new ArgumentNullException(nameof(addBookTitleRequestUseCase));
     }
     if (approveBookOrderUseCase == null)
     {
         throw new ArgumentNullException(nameof(approveBookOrderUseCase));
     }
     if (sendBookOrderUseCase == null)
     {
         throw new ArgumentNullException(nameof(sendBookOrderUseCase));
     }
     if (getAllBookOrdersUseCase == null)
     {
         throw new ArgumentNullException(nameof(getAllBookOrdersUseCase));
     }
     if (deleteBookOrdersUseCase == null)
     {
         throw new ArgumentNullException(nameof(deleteBookOrdersUseCase));
     }
     _addBookTitleRequestUseCase = addBookTitleRequestUseCase;
     _approveBookOrderUseCase    = approveBookOrderUseCase;
     _sendBookOrderUseCase       = sendBookOrderUseCase;
     _getAllBookOrdersUseCase    = getAllBookOrdersUseCase;
     _deleteBookOrdersUseCase    = deleteBookOrdersUseCase;
 }
示例#2
0
 public OrderBookUseCaseRandomTrigger(AddBookTitleRequestUseCase addBookTitleRequestUseCase)
 {
     if (addBookTitleRequestUseCase == null)
     {
         throw new ArgumentNullException(nameof(addBookTitleRequestUseCase));
     }
     _addBookTitleRequestUseCase = addBookTitleRequestUseCase;
 }
示例#3
0
 public OrderBookUseCaseTrigger(AddBookTitleRequestUseCase addBookTitleRequestUseCase)
 {
     if (addBookTitleRequestUseCase == null)
     {
         throw new ArgumentNullException(nameof(addBookTitleRequestUseCase));
     }
     _addBookTitleRequestUseCase = addBookTitleRequestUseCase;
     _testBookRequests           = new Queue <BookTitleRequest>();
 }
        /// <summary>
        /// Wire the instance of the AddBookTitleRequestUseCase to a trigger that will poll and
        /// call the use case when matching trigger conditions are met
        /// </summary>
        /// <param name="addBookTitleRequestUseCase"></param>
        /// <exception cref="InvalidOperationException"></exception>
        public void Handle(AddBookTitleRequestUseCase addBookTitleRequestUseCase)
        {
            if (!_initialized)
            {
                throw new InvalidOperationException("Adapter must be initialized prior to use");
            }

            _orderBookUseCaseTrigger = new OrderBookUseCaseTrigger(addBookTitleRequestUseCase);
            _orderBookUseCaseTrigger.Start();
        }
 public OrderBookUseCaseTriggerTestDouble(AddBookTitleRequestUseCase addBookTitleRequestUseCase) : base(addBookTitleRequestUseCase)
 {
 }
 public OrderBookUseCaseTrigger(AddBookTitleRequestUseCase addBookTitleRequestUseCase, IConnection connection)
 {
     _addBookTitleRequestUseCase = addBookTitleRequestUseCase;
     _connection = connection;
 }
示例#7
0
 public OrderBookUseCaseTrigger(AddBookTitleRequestUseCase addBookTitleRequestUseCase)
 {
     _addBookTitleRequestUseCase = addBookTitleRequestUseCase;
     _threadPoll         = new Thread(PollLoopForCsv);
     BookOrderFileFolder = Path.GetTempPath();
 }