public ACustomerBase(int id, ASubscription subscription, IManager manager) { this.id = id; this.subscription = subscription; this.log = manager.Log; this.configurationData = manager.ConfigurationData; }
static void Main(string[] args) { //similar Decorator ASubscription subcription = new Occasional(new Electric(20, 3)); Console.WriteLine($"Subscription Rental Eur {subcription.Calculate()}"); //Factory from Model base for MVC ASubscription subscriptionFromFactory = SubscriptionFactory.Create(new Library.Core.Models.Data() { Car = "Large", Subscription = "Frequent", Kilometers = 100, Hours = 5 }); Console.WriteLine($"Subscription Rental from Factory Eur {subscriptionFromFactory.Calculate()}"); Console.ReadLine(); }
// get CustomerBase with a Dependency Injection of ASubscription public ACustomerBase this[ASubscription subscription] => new CosmosDBCustomerBase(0, new SimpleSubscription(), this);
// get CustomerBase with a Dependency Injection of ASubscription public ACustomerBase DifferentProviderCustomerBase(int id, ASubscription subscription) => new CosmosDBCustomerBase(id, subscription, this);
public CosmosDBCustomerBase(int id, ASubscription subscription, IManager manager) : base(id, subscription, manager) { }