示例#1
0
        public HttpResponseMessage Get()
        {
            var stopwatch     = new Stopwatch();
            var stringBuilder = new StringBuilder();

            IEnumerable <Order> orders = _orderService.GetOrdersToProcess();

            int i = 1;

            foreach (var order in orders)
            {
                stopwatch.Start();

                var orderProcessor = _orderProcessorFactory.InitializeNewOrderProcessor();

                SuccessResult successResult = orderProcessor.Process(order);
                if (successResult == SuccessResult.Success)
                {
                    RecordSuccess(order);
                }
                else
                {
                    ReportFailure(order);
                }

                // Verify outcome
                stopwatch.Stop();
                stringBuilder.AppendLine(string.Format("Order n° {0} : Processing time - {1}", i, stopwatch.Elapsed));
                stopwatch.Reset();
                i++;
            }

            return(new HttpResponseMessage
            {
                Content = new StringContent(stringBuilder.ToString())
            });
        }