public Shipment Purchase( string itemName, double itemCost, int itemQuantity, string cardNum, string cardDate, string cardSEC, string streetName, string city, string state, string zip) { Product purchasedItem = new Product(itemName, itemCost, itemQuantity); Payment payment = new Payment { CardNumber = cardNum, CardDate = cardDate, CardSecCode = cardSEC }; Address address = new Address { Street = streetName, City = city, State = state, ZipCode = zip }; //add payment to pending payments paymentService.Add(payment); //if payment approved then update inventory and remove pending payment paymentService.Substract(payment); inventoryService.Substract(new Product("chair", 8.99, 4)); inventoryService.Add(new Product("chair", 8.99, 3)); //then ship item Shipment ship = new Shipment(address, purchasedItem); shippingService.Add(ship); //when shipped remove pending shipment and return shipment receipt shippingService.Substract(ship); ship.Display(); return(ship); }