private void ProcessShipment(Shipment shipment) { shipment.Price = _pricingService.CalculatePrice(shipment); (decimal? price, decimal? discount) = _pricingService.CalculatePriceDiscount(shipment); if (discount.HasValue) { shipment.Price = price; shipment.Discount = discount; _dataService.IncrementAccumulatedDiscounts(shipment.Date.RemoveDays(), shipment.Discount.Value); } else { shipment.Discount = 0; } }