public async Task <IActionResult> Reorder(Guid orderId)
        {
            var userId   = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var customer = await _customersService.GetCustomerByUsername(userId);

            if (customer == null)
            {
                return(NotFound("Customer does not exist"));
            }
            var previousOrder = await _service.GetOrder(orderId);

            if (previousOrder == null)
            {
                return(NotFound("Previous order does not exist"));
            }

            var currentOrder = await _service.GetCurrentOrder(customer.CustomerId, (int)Status.Inbasket);

            if (currentOrder == null)
            {
                return(NotFound("Current order could not be created"));
            }

            var orderLines = await _service.GetOrderLines(previousOrder.OrderId);

            await _service.DeleteAllFromOrder(currentOrder.OrderId);

            foreach (var orderLine in orderLines)
            {
                await _service.AddToOrder(new OrderLine
                {
                    OrderId         = currentOrder.OrderId,
                    DrugId          = orderLine.DrugId,
                    Qty             = orderLine.Qty,
                    CreatedOn       = DateTime.Now,
                    OrderLineStatus = (int)Status.Inbasket
                });
            }

            return(Ok(currentOrder));
        }