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)); }
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); }