Exemple #1
0
        public void Process(IncomingChildLetter letter)
        {
            Contract.Requires(letter != null);

            PresentOrder order = _santa.Read(letter);

            _presentOrderProcessor.Process(order);
        }
        public void Enqueue(IncomingChildLetter letter)
        {
            letter.ToOption()
            .Do(x => x.Validate());

            _letterEnqueuer
            .ThrowOnEmpty(() => new QueueUnavailableException())
            .Do(x => x.Enque(letter));
        }
Exemple #3
0
        public PresentOrder Read(IncomingChildLetter letter)
        {
            Logger.Info("Santa is reading letter from: {0}", letter.From);
            Thread.Sleep(100);
            var order = new PresentOrder
            {
                Id = Guid.NewGuid(),
                To = letter.From
            };

            order.ToProduce = letter.Wishes
                              .Select(x => new ToyOrder
            {
                PresentOrderId = order.Id,
                ToyCategory    = x.ToLowerInvariant(),
                Wish           = x
            })
                              .ToList();

            return(order);
        }
        private void Enqueue(WishListLetterRequest request)
        {
            IncomingChildLetter letter = Mapper.Map <WishListLetterRequest, IncomingChildLetter>(request);

            _queue.Enqueue(letter);
        }