Beispiel #1
0
 public UserUseCase()
 {
     while (true)
     {
         Route route = new Route();
         GetInput input = new GetInput();
         Order userOrder = new Order();
         PricingFactory priceFactory = new PricingFactory();
         TransportFactory transportFactory = new TransportFactory();
         Pricing priceModel;
         Vehicle transportType;
         Dictionary<int, double> order;
         List<Mail> sortedOrder;
         int numItems;
         double totalWeight;
         int numPackages = 0;
         int numEnvelopes = 0;
         string transport;
         string quit;
         int priceModelId;
         double totalPrice;
         numItems = input.getItemCount();
         order = input.compileOrder(numItems);
         sortedOrder = userOrder.returnMailList(order);
         numPackages = userOrder.getNumPackage(sortedOrder);
         numEnvelopes = userOrder.getNumEnvelope(sortedOrder);
         Console.WriteLine("You're order contains " + numPackages + " packages and " + numEnvelopes + " envelopes");
         totalWeight = userOrder.totalOrderWeight(order);
         Console.WriteLine("You're total order weight is " + totalWeight);
         transport = route.calcTransport(totalWeight);
         transportType = transportFactory.Get(transport);
         Console.WriteLine("Your order will be shipped by " + transport);
         Console.WriteLine("Select your pricing model");
         priceModelId = input.getPricing();
         priceModel = priceFactory.Get(priceModelId);
         totalPrice = priceModel.calcTotalPrice(totalWeight);
         Console.WriteLine("The price for your order is $" + totalPrice);
         Console.WriteLine("Your order is complete, Press enter to fill another order or type 'quit' to quit");
         quit = Console.ReadLine();
         if (quit == "quit")
         {
             break;
         }
     }
 }