Beispiel #1
0
        public IShipment Start(string shipmentStr)
        {
            var shipment = _shipmentHandler.CreateShipment(shipmentStr);

            // Case where invalid input was provided, this will stop the program and will be outputed - Ignored
            if (shipment == null)
            {
                return(null);
            }

            var initialShipmentPrice = shipment.Price ?? throw new ArgumentNullException("Price is null.");

            _rulesHandler.ApplyRules(shipment);

            _discountHandler.StartDiscountFunctions(shipment, initialShipmentPrice);

            return(shipment);
        }