public AboutPageViewModel(
     ISettingsService settingsService,
     ISettingsFactory settingsFactory,
     IDefaultsFactory defaultsFactory,
     IPlatformStuffService platformStuffService)
     : base(settingsService, settingsFactory, defaultsFactory)
 {
     Title    = "About";
     Greeting = "About Page";
     InitializeSettings();
     HTMLSource         = HTMLSource ?? new HtmlWebViewSource();
     HTMLSource.BaseUrl = platformStuffService.GetBaseUrl();
     HTMLSource.Html    = @"
     <!DOCTYPE html>
     <html>
         <head>
             <title>oidc-client test</title>
             <link rel=""stylesheet"" href=""bootstrap.css"">
             <link rel=""stylesheet"" href=""indigo-pink.css"">        
             <link rel=""stylesheet"" href=""styles.css"">        
         </head>
         <body id=""mybod"">
             <md-content layout-padding>
             <div class=""md-headline""><strong>About Us</strong></div><br>
                 <p>
                     <strong>Some Company®</strong> is the leader in blah, blah, blah...
                 </p>
             </md-content>           
         </body>
     </html>";
 }
Beispiel #2
0
        public OrganizationPageViewModel(
            ISettingsService settingsService,
            ISettingsFactory settingsFactory,
            IDefaultsFactory defaultsFactory,
            IPlatformStuffService platformStuffService
            )
            : base(settingsService, settingsFactory, defaultsFactory)
        {
            Title    = "Organization";
            Greeting = "Organization Page";
            var fontsize = settingsFactory.GetSettings().FontSize;

            _items = _items ?? new ReactiveList <BaseListItem>();

            // this needs to be converted to a service
            _items.Clear();
            _items.Add(new BaseListItem()
            {
                Title      = "Some Organization",
                IconSource = "resource://Target.Resources.ic_public_black_24px.svg",
                TargetType = typeof(RecentPage),
                FontSize   = fontsize,
                FontColor  = Color.Black
            });
            _items.Add(new BaseListItem()
            {
                Title      = "Organization 2",
                IconSource = "resource://Target.Resources.ic_public_black_24px.svg",
                TargetType = typeof(RecentPage),
                FontSize   = fontsize,
                FontColor  = Color.Black
            });
        }
 public BsonDocumentCreator([NotNull] IBsonDocumentValueAppender bsonDocumentValueAppender,
                            [NotNull] IBsonConverter bsonConverter,
                            [NotNull] IDefaultsFactory defaultsFactory,
                            [NotNull] IBsonPropertiesFactory bsonPropertiesFactory)
 {
     if (bsonDocumentValueAppender == null)
     {
         throw new ArgumentNullException(nameof(bsonDocumentValueAppender));
     }
     if (bsonConverter == null)
     {
         throw new ArgumentNullException(nameof(bsonConverter));
     }
     if (defaultsFactory == null)
     {
         throw new ArgumentNullException(nameof(defaultsFactory));
     }
     if (bsonPropertiesFactory == null)
     {
         throw new ArgumentNullException(nameof(bsonPropertiesFactory));
     }
     _bsonDocumentValueAppender = bsonDocumentValueAppender;
     _bsonConverter             = bsonConverter;
     _defaultsFactory           = defaultsFactory;
     _bsonPropertiesFactory     = bsonPropertiesFactory;
 }
Beispiel #4
0
 public TermsPageViewModel(
     ISettingsService settingsService,
     ISettingsFactory settingsFactory,
     IDefaultsFactory defaultsFactory,
     IPlatformStuffService platformStuffService
     )
     : base(settingsService, settingsFactory, defaultsFactory)
 {
     Title              = "Terms";
     Greeting           = "Terms And Conditions";
     HTMLSource         = HTMLSource ?? new HtmlWebViewSource();
     HTMLSource.BaseUrl = platformStuffService.GetBaseUrl();
     //source.Html = @"<html><head></head><body><p>Hi</p></body></html>";
     HTMLSource.Html = @"
     <html>
     <head>
     <link rel=""stylesheet"" href=""bootstrap.css"">
     <link rel=""stylesheet"" href=""indigo-pink.css"">
     </head>
     <body>
     <iframe src=""Terms.html"" name=""targetframe"" allowTransparency=""true"" scrolling=""yes"" frameborder=""0"" style=""width:100%;height:100%""></ iframe >
     </body>
     </html>
     ";
     var fireandforget = Task.Run(async() => await InitializeSettings());
 }
Beispiel #5
0
 public MasterListItemViewModel(
     ISettingsService settingsService,
     ISettingsFactory settingsFactory,
     IDefaultsFactory defaultsFactory,
     IPlatformStuffService platformStuffService
     )
     : base(settingsService, settingsFactory, defaultsFactory)
 {
 }
Beispiel #6
0
 public HomePageViewModel(
     ISettingsService settingsService,
     ISettingsFactory settingsFactory,
     IDefaultsFactory defaultsFactory,
     IPlatformStuffService platformStuffService) : base(settingsService, settingsFactory, defaultsFactory)
 {
     Title     = "Home";
     Greeting  = defaultsFactory.GetAppName();
     sourceImg = "resource://Target.Resources.ic_home_black_36px.svg";
 }
Beispiel #7
0
 public RecentPageViewModel(
     ISettingsService settingsService,
     ISettingsFactory settingsFactory,
     IDefaultsFactory defaultsFactory,
     IPlatformStuffService platformStuffService
     )
     : base(settingsService, settingsFactory, defaultsFactory)
 {
     Title    = "Recent";
     Greeting = "Recent Page";
 }
 public LogoutPageViewModel(
     ISettingsService settingsService,
     ISettingsFactory settingsFactory,
     IDefaultsFactory defaultsFactory,
     IPlatformStuffService platformStuffService
     )
     : base(settingsService, settingsFactory, defaultsFactory)
 {
     Title    = "Logout";
     Greeting = $"Leaving {defaultsFactory.GetAppName()}?";
 }
 public GoodByePageViewModel(
     ISettingsService settingsService,
     ISettingsFactory settingsFactory,
     IDefaultsFactory defaultsFactory,
     IPlatformStuffService platformStuffService
     )
     : base(settingsService, settingsFactory, defaultsFactory)
 {
     Title    = "Goodbye";
     Greeting = "Thanks for considering " + defaultsFactory.GetAppName() + "!";
 }
Beispiel #10
0
 public SettingsFactory(IDefaultsFactory defaultsFactory)
 {
     this.defaultsFactory = defaultsFactory;
     if (_settings == null)
     {
         _settings = new Settings()
         {
         };
         SetDefaults();
     }
 }
Beispiel #11
0
 public BaseViewModel(ISettingsService settingsService, ISettingsFactory settingsFactory, IDefaultsFactory defaultsFactory)
 {
     _settingsFactory     = settingsFactory;
     _settingsService     = settingsService;
     this.defaultsFactory = defaultsFactory;
     Settings             = _settingsFactory.GetSettings();
     FontSize             = Settings.FontSize;
     this.WhenActivated(
         registerDisposable =>
     {
         registerDisposable(
             this.WhenAnyValue(x => x.FontSize)
             .SelectMany(async x => await _settingsService.CreateSetting(Settings))
             .Subscribe());
     });
 }
Beispiel #12
0
        public LoginViewModel(
            ISettingsService settingsService,
            ISettingsFactory settingsFactory,
            IDefaultsFactory defaultsFactory,
            IPlatformStuffService platformStuffService
            )
            : base(settingsService, settingsFactory, defaultsFactory)
        {
            Title    = "Login";
            Greeting = "Welcome to " + defaultsFactory.GetAppName() + "!";
            var canLogin = Observable.Return <bool>(true); // you could do some logic here instead

            this.loginCommand = ReactiveCommand.CreateFromObservable(
                this.LoginAsync,
                canLogin);
        }
Beispiel #13
0
        public MasterListViewModel(
            ISettingsService settingsService,
            ISettingsFactory settingsFactory,
            IDefaultsFactory defaultsFactory,
            IPlatformStuffService platformStuffService
            )
            : base(settingsService, settingsFactory, defaultsFactory)
        {
            // DONT TRY AND SET TITLE FROM VIEWMODEL for MasterListPage, it won't work
            //Title = defaultsFactory.GetAppName();

            // this subscription is needed to refresh the size of text and images after changing
            // settings on the settings page.  Otherwise, they won't automatically
            // change size after changing the settings.
            MessagingCenter.Subscribe <ISettingsViewModel>(this, "mSettingsFontChanged", (sender) =>
            {
                SetItems();
            });
            SetItems();
        }
        public SettingsViewModel(
            ISettingsService settingsService,
            ISettingsFactory settingsFactory,
            IDefaultsFactory defaultsFactory,
            IPlatformStuffService platformStuffService
            )
            : base(settingsService, settingsFactory, defaultsFactory)
        {
            Title    = "Settings";
            Greeting = "Settings Page";

            isManualFontOn       = Settings.IsManualFont;
            ShowConnectionErrors = Settings.ShowConnectionErrors;

            this.WhenActivated(
                registerDisposable =>
            {
                registerDisposable(
                    this.WhenAnyValue(x => x.ShowConnectionErrors)
                    .Do(x => SetShowConnectionErrors())
                    .SelectMany(async x => await SetSettings(Settings))
                    .Subscribe());
                registerDisposable(
                    this.WhenAnyValue(x => x.FontSize)
                    .Do(x => {
                    SetFontSize();
                })
                    .SelectMany(async x => await SetSettings(Settings))
                    .Subscribe());
                registerDisposable(
                    this.WhenAnyValue(x => x.IsManualFontOn)
                    .Do(x => SetManualFont())
                    .SelectMany(async x => await SetSettings(Settings))
                    .Subscribe());
            });
        }
 public PolicyPageViewModel(
     ISettingsService settingsService,
     ISettingsFactory settingsFactory,
     IDefaultsFactory defaultsFactory,
     IPlatformStuffService platformStuffService
     )
     : base(settingsService, settingsFactory, defaultsFactory)
 {
     Title              = "Policy";
     Greeting           = "Privacy Policy";
     HTMLSource         = HTMLSource ?? new HtmlWebViewSource();
     HTMLSource.BaseUrl = platformStuffService.GetBaseUrl();
     HTMLSource.Html    = @"
     <html>
     <head>
     <link rel=""stylesheet"" href=""bootstrap.css"">
     <link rel=""stylesheet"" href=""indigo-pink.css"">
     </head>
     <body>
     <iframe src=""Policy.html"" name=""targetframe"" allowTransparency=""true"" scrolling=""yes"" frameborder=""0"" style=""width:100%;height:100%""></ iframe >
     </body>
     </html>
     ";
 }
Beispiel #16
0
 public MockSQLiteRepository(IDefaultsFactory defaultsFactory)
 {
     this.defaultsFactory = defaultsFactory;
 }
 public SQLiteRepository(IDefaultsFactory defaultsFactory)
 {
     this.defaultsFactory = defaultsFactory;
     var dbpath = DependencyService.Get <IPlatformStuff>().GetLocalFilePath(defaultsFactory.GetAppName() + ".db3");
 }
        public App()
        {
            InitializeComponent();
            SetupIOC();
            defaultsFactory = App.Container.Resolve <IDefaultsFactory>();
            MessagingCenter.Subscribe <ILoginViewModel, bool>(this, "LoginStatus", (sender, args) =>
            {
                loggedIn = args;
                if (loggedIn)
                {
                    loadMainPage();
                }
                else
                {
                    ShowToast(new NotificationOptions()
                    {
                        Title            = "Oops!",
                        Description      = $"Login Failed!",
                        IsClickable      = true,
                        ClearFromHistory = true
                    });
                }
            });
            MessagingCenter.Subscribe <ITermsPage>(this, "mTermsAgreed", (sender) =>
            {
                if (defaultsFactory.GetIsLoginPageEnabled())
                {
                    loadLoginPage();
                }
                else
                {
                    loadMainPage();
                }
            });
            MessagingCenter.Subscribe <ILogoutPage>(this, "LogMeOut", (sender) =>
            {
                loggedIn = false;
                loadLoginPage();
            });

            Task.Run(async() => { await InitializeSettings(); }).Wait();

            setting = _settingsFactory.GetSettings();

            if (defaultsFactory.GetIsTermsPageEnabled())
            {
                if (string.IsNullOrEmpty(setting.AgreedToTermsDate))
                {
                    loadTermsPage();
                }
                else
                {
                    ContinueWithoutTerms();
                }
            }
            else
            {
                // if we've disabled the terms page, go ahead and wipe out the AgreedToTermsDate, this way we can easily test
                // reseting the terms without having to uninstall
                if (!string.IsNullOrEmpty(setting.AgreedToTermsDate))
                {
                    setting.AgreedToTermsDate = "";
                    var settings = _settingsService.CreateSetting(setting);
                }

                ContinueWithoutTerms();
            }
            if (defaultsFactory.GetCheckInternet() && setting.ShowConnectionErrors)
            {
                if (!CrossConnectivity.Current.IsConnected)
                {
                    ShowToast(new NotificationOptions()
                    {
                        Title       = "No Connection",
                        Description = $"Please check your internet connection!",
                        IsClickable = true,
                        //WindowsOptions = new WindowsOptions() { LogoUri = "icon.png" },
                        ClearFromHistory = true
                                           //DelayUntil = DateTime.Now.AddSeconds(0)
                    });
                }
            }
            CrossConnectivity.Current.ConnectivityChanged += ConnectionError;
            var wifi = Plugin.Connectivity.Abstractions.ConnectionType.WiFi;

            if (defaultsFactory.GetShowWifiErrors())
            {
                var connectionTypes = CrossConnectivity.Current.ConnectionTypes;
                if (!connectionTypes.Contains(wifi))
                {
                    ShowToast(new NotificationOptions()
                    {
                        Title       = "Wifi Not Detected",
                        Description = $"Please turn Wifi On!",
                        IsClickable = true,
                        //WindowsOptions = new WindowsOptions() { LogoUri = "icon.png" },
                        ClearFromHistory = true
                                           //DelayUntil = DateTime.Now.AddSeconds(0)
                    });
                }
            }
        }
 public MyAutoMockHelper()
 {
     defaultsFactory = new DefaultsFactory();
 }
 public BaseViewModel()
 {
     _myHelper       = new MyAutoMockHelper();
     defaultsFactory = _myHelper.GetDefaultsFactory();
 }