protected void doAssignDriver() {
    try {

      Ticket ticket = getFirstSelectedTicket();

      //			if(ticket == null) {
      //				return;
      //			}

      if (!Ticket.HOME_DELIVERY.equals(ticket.getTicketType())) {
        POSMessageDialog.showError("Driver can be assigned only for Home Delivery");
        return;
      }

      User assignedDriver = ticket.getAssignedDriver();
      if (assignedDriver != null) {
        int option =
            JOptionPane.showOptionDialog(
                Application.getPosWindow(),
                "Driver already assigned. Do you want to reassign?",
                "Confirm",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                null,
                null);

        if (option != JOptionPane.YES_OPTION) {
          return;
        }
      }

      orderServiceExtension.assignDriver(ticket.getId());
    } catch (Exception e) {
      e.printStackTrace();
      POSMessageDialog.showError(e.getMessage());
      LogFactory.getLog(SwitchboardView.class).error(e);
    }
  }