public OrderModel ReOrder(int orderId)
        {
            var entity = _orderRepository.AllIncluding(x => x.OrderPositions).SingleOrDefault(x => x.ID == orderId);
            if (entity != null)
            {
                // Copy from the existing order and then set the order date to today
                var newOrder = new Order();
                newOrder.CopyFrom(entity);
                newOrder.OrderDate = DateTime.Now;
                newOrder.DeliveryDate = null;

                _orderRepository.Add(newOrder);
                _unitOfWork.Commit();

                var orderModel = new OrderModel
                {
                    OrderId = newOrder.ID,
                    OrderDate = newOrder.OrderDate,
                    CustomerNumber = newOrder.CustomerNumber,
                    DeliveryDate = newOrder.DeliveryDate,
                    TotalPrice = newOrder.TotalPrice
                };

                if (newOrder.OrderPositions != null)
                {
                    orderModel.OrderPositions = new List<OrderPositionModel>();
                    foreach (var positionEntity in newOrder.OrderPositions)
                    {
                        var positionModel = new OrderPositionModel
                        {
                            OrderId = positionEntity.OrderID,
                            PositionOrderId = positionEntity.ID,
                            PositionNumber = positionEntity.PositionNumber,
                            Pieces = positionEntity.Pieces,
                            Text = positionEntity.Text,
                            Price = positionEntity.Price,
                        };
                        orderModel.OrderPositions.Add(positionModel);
                    }
                }
                return orderModel;
            }
            return null;
        }