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

            PresentOrder order = _santa.Read(letter);

            _presentOrderProcessor.Process(order);
        }
Example #2
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);
        }
 public void Process(PresentOrder order)
 {
     order.ToProduce.ForEach(_enqueuer.Enque);
 }