public ICharger GetCharger(ChargerComponentTypes chargerType) { ICharger chargerComponent = null; switch (chargerType) { case ChargerComponentTypes.OwnCharger: chargerComponent = new OwnCharger(Output); Output.WriteLine($"{nameof(OwnCharger)} selected"); break; case ChargerComponentTypes.NokiaCharger: chargerComponent = new NokiaCharger(Output); Output.WriteLine($"{nameof(NokiaCharger)} selected"); break; case ChargerComponentTypes.HuaweiPowerBank: chargerComponent = new HuaweiPowerBank(Output); Output.WriteLine($"{nameof(HuaweiPowerBank)} selected"); break; case ChargerComponentTypes.NomiPowerBank: chargerComponent = new NomiPowerBank(Output); Output.WriteLine($"{nameof(NomiPowerBank)} selected"); break; case ChargerComponentTypes.QQEERSolarPowerBank: chargerComponent = new QQEERSolarPowerBank(Output); Output.WriteLine($"{nameof(QQEERSolarPowerBank)} selected"); break; } return(chargerComponent); }
public void GetAndProcessUserSelectionOfCharger(SimCorpMobile simCorpMobile) { ChargerHandler chargerHandler = new ChargerHandler(Output); string enteredChargerTypeIndex = Input.ReadLine(); try { ChargerComponentTypes chargerType = chargerHandler.GetChargerType(enteredChargerTypeIndex); ICharger chargerComponent = chargerHandler.GetCharger(chargerType); chargerHandler.SetAndRunCharger(simCorpMobile, chargerComponent); } catch (Exception e) { Output.Write(e.Message); } }