Ejemplo n.º 1
0
        private void Initialize()
        {
            CustomXamlResourceLoader.Current = new LocalizingResourceLoader();

            LocalizationHelper.Initialize();

            DataViewModelOptions.AddNetworkExceptionType( typeof( WebException ) );
            DataViewModelOptions.AddNetworkExceptionType( typeof( OperationCanceledException ) );

            // ThinMVVM types
            Container.Bind<ISettingsStorage, WindowsRuntimeSettingsStorage>();
            Container.Bind<IDataCache, WindowsRuntimeDataCache>();
            _navigationService = Container.Bind<IWindowsRuntimeNavigationService, WindowsRuntimeNavigationService>();

            // Basic types
            _pluginLoader = Container.Bind<IPluginLoader, PluginLoader>();
            _settings = Container.Bind<IMainSettings, MainSettings>();
            Container.Bind<IHttpClient, HttpClient>();
            Container.Bind<IHttpHeaders, HttpHeaders>();
            Container.Bind<IBrowserService, BrowserService>();
            Container.Bind<IEmailService, EmailService>();
            Container.Bind<IPhoneService, PhoneService>();
            Container.Bind<ILocationService, LocationService>();
            Container.Bind<ITileService, TileService>();
            Container.Bind<IDeviceIdentifier, DeviceIdentifier>();
            Container.Bind<IAppRatingService, AppRatingService>();
            Container.Bind<ICredentialsStorage, CredentialsStorage>();

            // Logger
            Container.Bind<Logger, GoogleAnalyticsLogger>().Start();

            // Types dependent on one of the above types
            _serverAccess = Container.Bind<IServerAccess, ServerAccess>();
            _protocolHandler = new ProtocolHandler( _pluginLoader, _navigationService );

            // Views from Main
            _navigationService.Bind<AboutViewModel, AboutView>();
            _navigationService.Bind<MainViewModel, MainView>();
            _navigationService.Bind<SettingsViewModel, SettingsView>();

            // Register pocketcampus:// URIs to avoid going to the system and back when they're used inside of the app
            LauncherEx.RegisterProtocol( ProtocolHandler.PocketCampusProtocol, _protocolHandler.NavigateToCustomUri );

            // Initialize plugins, both their common part and their WinRT part
            foreach ( var plugin in _pluginLoader.GetPlugins().Cast<IWindowsRuntimePlugin>() )
            {
                plugin.Initialize( (INavigationService) _navigationService );
                plugin.Initialize( _navigationService );
            }

            // Handle the back button, since Windows Phone doesn't do it for us any more (unlike WP8 "Silverlight")
            HardwareButtons.BackPressed += ( _, e ) =>
            {
                e.Handled = true;
                _navigationService.NavigateBack();
            };
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Creates a new SecureRequestHandler.
 /// </summary>
 public SecureRequestHandler(IMainSettings mainSettings, ICredentialsStorage credentials, INavigationService navigationService,
                             IAuthenticator authenticator, IAuthenticationService authenticationService)
 {
     _mainSettings          = mainSettings;
     _credentials           = credentials;
     _navigationService     = navigationService;
     _authenticator         = authenticator;
     _authenticationService = authenticationService;
 }
Ejemplo n.º 3
0
 public SettingsViewModel(IMainSettings settings, IDataService dataService)
 {
     _settings = settings;
     _dataService = dataService;
     _ports = new List<SettingsPortViewModel>();
     _DIs = new List<SettingsDIViewModel>();
     _relays = new List<SettingsRelayViewModel>();
     _timings = new SettingsTimingsViewModel(settings);
     Init();
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the MainViewModel class.
 /// </summary>
 public MainViewModel(IDataService dataService, IMainSettings settings)
 {
     _dataService = dataService;
     _settings = settings;
     _dataService.Init();
     _dataService.InputStateChanged += _dataService_InputStateChanged;
     //Doors = new DoolsViewModel(_dataService);
     DiscretInputs = new DiscretInputsViewModel(_settings.DiscretInputKeys.Keys);
     Relays = new RelaysViewModel(_settings.RelayKeys.Keys, (key, value) => _dataService.SetRelayState(_settings.RelayKeys[key], value));
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Creates a new MainViewModel.
        /// </summary>
        public MainViewModel(INavigationService navigationService, IServerAccess serverAccess,
                             IPluginLoader pluginLoader, IMainSettings settings, ITileService tileCreator,
                             ViewPluginRequest request)
        {
            _navigationService = navigationService;
            _pluginLoader      = pluginLoader;
            _serverAccess      = serverAccess;
            _settings          = settings;
            _tileCreator       = tileCreator;

            _request = request;
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Initializes a new instance of the SettingsTimingsViewModel class.
 /// </summary>
 public SettingsTimingsViewModel(IMainSettings settings)
 {
     this.settings = settings;
     _timeStartToLiftT2Start = settings.TimingSettings.TimeStartToLiftT2Start.TotalMilliseconds.ToString();
     _timeStartToLiftT2Stop = settings.TimingSettings.TimeStartToLiftT2Stop.TotalMilliseconds.ToString();
     _timeLiftToEndT2Start = settings.TimingSettings.TimeLiftToEndT2Start.TotalMilliseconds.ToString();
     _timeLiftToEndT2Stop = settings.TimingSettings.TimeLiftToEndT2Stop.TotalMilliseconds.ToString();
     _timeEndToLiftT2Start = settings.TimingSettings.TimeEndToLiftT2Start.TotalMilliseconds.ToString();
     _timeEndToLiftT2Stop = settings.TimingSettings.TimeEndToLiftT2Stop.TotalMilliseconds.ToString();
     _timeTightenLeftT2Stop = settings.TimingSettings.TimeTightenLeftT2Stop.TotalMilliseconds.ToString();
     _timeLiftToStartT2Start = settings.TimingSettings.TimeLiftToStartT2Start.TotalMilliseconds.ToString();
     _timeLiftToStartT2Stop = settings.TimingSettings.TimeLiftToStartT2Stop.TotalMilliseconds.ToString();
 }
Ejemplo n.º 7
0
 public DataService(Func<Type, string, object> ioc, IMainSettings settings)
 {
     _ioc = ioc;
     _settings = settings;
     try
     {
         _logger = NLog.LogManager.GetCurrentClassLogger();
     }
     catch
     {
         _logger = null;
     }
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Initializes a new instance of the MainViewModel class.
 /// </summary>
 public MainViewModel(IDataService dataService, IMainSettings settings)
 {
     _dataService = dataService;
     _settings = settings;
     LogicAvalable = false;
     ShowInitScrean = true;
     _initCancel = new CancellationTokenSource();
     _timerCancel = new CancellationTokenSource();
     _rescanWh = new AutoResetEvent(false);
     //Doors = new DoolsViewModel(_dataService);
     DiscretInputs = new DiscretInputsViewModel(_settings.DiscretInputKeys.Keys);
     //            Relays = new RelaysViewModel(_settings.RelayKeys.Keys, (key, value) => _dataService.DeviceManager.SetRelayState(_settings.RelayKeys[key], value));
     Relays = new RelaysViewModel(_settings.RelayKeys.Keys, (key, value) => _dataService.Scenario.SetRelay(key, value));
 }
Ejemplo n.º 9
0
        /// <summary>
        /// Creates a new SettingsViewModel.
        /// </summary>
        public SettingsViewModel(IMainSettings settings, IAuthenticator authenticator, INavigationService navigationService,
                                 IAuthenticationService authenticationService, ICredentialsStorage credentials, ITileService tileService)
        {
            Settings               = settings;
            Credentials            = credentials;
            _authenticator         = authenticator;
            _navigationService     = navigationService;
            _authenticationService = authenticationService;

            Settings.ListenToProperty(x => x.UseColoredTile, () =>
            {
                tileService.SetTileColoring(Settings.UseColoredTile);
            });
        }
Ejemplo n.º 10
0
 public DataService(Func<Type, string, object> ioc, IMainSettings settings)
 {
     _ioc = ioc;
     _settings = settings;
 }
Ejemplo n.º 11
0
 public SettingsDIViewModel(IMainSettings settings, string key)
 {
     _settings = settings;
     _key = key;
 }
Ejemplo n.º 12
0
 public SettingsPortViewModel(IMainSettings settings, string key, IEnumerable<string> ports)
 {
     _settings = settings;
     _key = key;
     _ports = ports;
 }