public OrderOperationStatus QueueOrder(Order order, Contact contact) { var operationStatus = new OrderOperationStatus(); try { SendEmails(order, contact); _additionalQueueProcessingHandlerFactory.GetHandler(order.AdditionalQueueProcessingHandler).PerformAdditionalProcessing(order,contact); order.Status = "QUE"; order.UpdateOrderLines("QUE"); _orderRepository.SaveOrder(order); operationStatus.Order = order; operationStatus.Status = true; } catch (Exception e) { operationStatus = OperationStatusExceptionHelper<OrderOperationStatus> .CreateFromException("An error has occurred processing the order", e); } return operationStatus; }