Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.65 KB | None | 0 0
  1. /**
  2.      * Forsøker å plassere en ordre i den vanlige ordrekøen. Dersom nettbutikken
  3.      * har nok på lager av produktet i alle ordrelinjene, plasseres ordren i
  4.      * denne køen og lagerstatusen for alle de bestilte produkter oppdateres.
  5.      * Dersom en eller flere ordrelinjer har produkter som må bestilles fra
  6.      * leverandør legges ordren i vente-køen og det opprettes en bakordre med
  7.      * alle ordrelinjene som må bestilles fra leverandør
  8.      *
  9.      * @param order ordren som en kunde kjøper
  10.      */
  11.     public void placeOrder(Order order) {
  12.         System.out.println("Placing order with order no.: " + order.getOrderNo() + "...");
  13.         BackOrder backOrder = null;
  14.         OrderLine line = null;
  15.         for (int i = 0; i < order.getNoOrderLines(); i++) {
  16.             line = order.getOrderLine(i);
  17.             if (!line.productAvailable()) {
  18.                 if (backOrder == null) {
  19.                     backOrder = new BackOrder(this);
  20.                 }
  21.                 backOrder.addBackOrderLine(line);
  22.                 System.out.println("Back order placed");
  23.             }
  24.         }
  25.         if (backOrder != null) {
  26.             backOrdersQueue.add(backOrder);
  27.             waitingOrdersQueue.add(order);
  28.         } else {
  29.             //hvis ordren kan plasseres i vanlig kø, må produkt(er) trekkes fra
  30.             //lagerbeholdningen
  31.             for (int i = 0; i < order.getNoOrderLines(); i++) {
  32.                 line = order.getOrderLine(i);
  33.                 Product p = line.getProduct();
  34.                 p.setInventory(p.getInventory() - line.getCount());
  35.             }
  36.             ordersQueue.add(order);
  37.         }
  38.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement