public CarWash(ILogger logger, IDetailsSource detailsSource, IDetailsSerializer detailsSerializer, DetailsPricingFactory detailsPricingFactory) { _logger = logger; _detailsSource = detailsSource; _detailsSerializer = detailsSerializer; _detailsPricingFactory = detailsPricingFactory; Context = new DefaultContext(_detailsSource, _detailsSerializer); Context.CarWash = this; }
public DetailsPricing Create(Details details, ICarWashContext context) { try { return((DetailsPricing)Activator.CreateInstance( Type.GetType($"ExampleSolid.{details.WashingType}DetailsPricing"), new object[] { _logger })); } catch (System.Exception) { return(new UnknownDetailsPricing(_logger)); } }