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