public WifiControllerViewModel(ICommandGenerator commandGenerator, ISettingAccess settingAccess, INavigator navigator, IHTTPClient httpClient, IPlatformToast platformToast) : base(navigator) { _commandGenerator = commandGenerator; _settingAccess = settingAccess; _httpClient = httpClient; _platformToast = platformToast; InitializeCommands(); }
public App(IPlatformToast platformToast, IServerConnection pingConnection) { InitializeComponent(); SetPlatformConfig(); var settings = new NinjectSettings() { LoadExtensions = false }; Container = new StandardKernel(settings); ConfigureContainer(platformToast, pingConnection); ComposeObjects(); }
public SettingsViewModel(ISettingAccess settingAccess, ICommandGenerator commandGenerator, INavigator INavigator, IPlatformToast platformToast) : base(INavigator) { _settingAccess = settingAccess; _commandGenerator = commandGenerator; _platformToast = platformToast; SaveSettingsCommand = _commandGenerator.GenerateCommand(async() => { try { await SaveSettings(Settings); } catch (ArgumentNullException) { _platformToast.ShowToast("Could not save settings...try again"); } }); }
private void ConfigureContainer(IPlatformToast platformToast, IServerConnection pingConnection) { string databasePath = ""; if (Device.RuntimePlatform == Device.UWP) { databasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "database.db"); } else { databasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "database.db"); } Container.Bind <IPlatformToast>().ToConstant(platformToast); Container.Bind <IServerConnection>().ToConstant(pingConnection); Container.Bind <ICommandGenerator>().To <CommandGenerator>() .InSingletonScope(); Container.Bind <ISettingAccess>().To <SettingReaderWriterSQL>() .WithConstructorArgument <string>(databasePath); Container.Bind <IHTTPClient>().To <HTTPClientService>().WithConstructorArgument("pingConnection", Container.Get <IServerConnection>()); Container.Bind <IViewFactory>().To <ViewFactory>() .InSingletonScope() .WithConstructorArgument(Container); Container.Bind <INavigator>().To <Navigator>() .InSingletonScope() .WithConstructorArgument(Container.Get <IViewFactory>()); Container.Get <IViewFactory>().Register <WifiControllerViewModel, WifiControlView>(); Container.Get <IViewFactory>().RegisterAndCache <SettingsViewModel, SettingsView>(); }
public App(IPlatformToast platformToast) : this(platformToast, new ServerConnection()) { }