コード例 #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
        private void ApproveBookOrders()
        {
            IBookOrderRepository    bookOrderRepository     = Container.GetInstance <IBookOrderRepository>();
            ApproveBookOrderUseCase approveBookOrderUseCase = Container.GetInstance <ApproveBookOrderUseCase>();
            Random rand = new Random();

            while (!_shutdown)
            {
                var bookOrderToApprove = bookOrderRepository.GetByState(BookOrderState.New).FirstOrDefault();

                if (bookOrderToApprove != null)
                {
                    approveBookOrderUseCase.Execute(bookOrderToApprove.Id);
                }

                Thread.Sleep(rand.Next(1000, 10000));
            }
        }