/// <summary> /// Initializes a new instance of the <see cref="ImagePickerViewModel" /> class. /// </summary> /// <param name="client">The bluetooth client connection manager</param> /// <param name="platformProperties">Provides platform specific hardware interactions</param> public ImagePickerViewModel(IBTClient client, IPlatformProperties platformProperties) { this.platformProperties = platformProperties; this.client = client; this.client.NotifyServiceAvailable += (bool status) => { this.bluetoothServiceIsStarted = status; this.ConnectCommand.RaiseCanExecuteChanged(); }; this.client.NotifyCanSendImages += () => { this.IsConnected = true; this.OnPropertyChanged("IsConnected"); this.GotoCameraCommand.RaiseCanExecuteChanged(); }; this.client.NotifyDisconnected += () => { this.IsConnected = false; this.OnPropertyChanged("IsConnected"); this.GotoCameraCommand.RaiseCanExecuteChanged(); }; this.platformProperties.NotifyPicked += this.OnImagePicked; this.platformProperties.PickCancelled += this.OnPickCancelled; this.CameraSourceAvailable = platformProperties.IsCameraAvailable; this.ConnectCommand = new DelegateCommandAsync(this.Connect, o => this.bluetoothServiceIsStarted); this.GotoCameraCommand = new DelegateCommandAsync(this.GotoCamera, o => this.isConnecteing || this.IsConnected); this.GotoImageLibraryCommand = new DelegateCommandAsync(this.GotoImageLibrary); this.PageHeader = "Image picker"; ////this.stringResourceServices.FindNLString("ImageSource"); }
/// <summary> /// Initializes a new instance of the <see cref="BaseViewModel"/> class. /// </summary> /// <param name="properties">Platform Properties.</param> /// <param name="resource">Resources.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public BaseViewModel(IPlatformProperties properties, IResourceHelper resource, IDatabase database, IErrorHandler error, INavigationHandler navigation) { this.Error = error; this.Navigation = navigation; this.Database = database; this.PlatformProperties = properties; this.Resources = resource; }
/// <summary> /// Initializes a new instance of the <see cref="AppDatabase"/> class. /// </summary> /// <param name="properties">Platform Properties.</param> public AppDatabase(IPlatformProperties properties) { if (properties == null) { throw new ArgumentNullException(nameof(properties)); } this.properties = properties; this.db = new LiteDatabase(properties.DatabasePath + ".litedb"); }
/// <summary> /// Initializes a new instance of the <see cref="AppDatabase"/> class. /// </summary> /// <param name="properties">Platform Properties.</param> public AppDatabase(IPlatformProperties properties) { if (properties == null) { throw new ArgumentNullException(nameof(properties)); } this.properties = properties; this.db = new LiteDatabase(System.IO.Path.Combine(properties.LocalAppAreaPath, "database.litedb")); }
/// <summary> /// Initializes a new instance of the <see cref="SearchVideosViewModel"/> class. /// </summary> /// <param name="ytClient">YouTube Client.</param> /// <param name="properties">Platform Properties.</param> /// <param name="resource">Resources.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public SearchVideosViewModel( YoutubeClient ytClient, IPlatformProperties properties, IResourceHelper resource, IDatabase database, IErrorHandler error, INavigationHandler navigation) : base(properties, resource, database, error, navigation) { this.ytClient = ytClient ?? throw new ArgumentNullException(nameof(ytClient)); }
/// <summary> /// Initializes a new instance of the <see cref="ImageGalleryViewModel"/> class. /// </summary> /// <param name="popup">Popup.</param> /// <param name="client">API Client.</param> /// <param name="properties">Platform Properties.</param> /// <param name="resource">Resources.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public ImageGalleryViewModel( ImageUpload.Mobile.Interfaces.IPopup popup, ImageEndpoint client, IPlatformProperties properties, IResourceHelper resource, IDatabase database, IErrorHandler error, INavigationHandler navigation) : base(properties, resource, database, error, navigation) { this.popup = popup; this.client = client; this.Images = new ObservableCollection <IImage>(); }
/// <summary> /// Initializes a new instance of the <see cref="SettingsViewModel"/> class. /// </summary> /// <param name="properties">Platform Properties.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public SettingsViewModel(IPlatformProperties properties, IDatabase database, IErrorHandler error, INavigationHandler navigation) : base(database, error, navigation) { if (properties == null) { throw new ArgumentNullException(nameof(properties)); } if (database == null) { throw new ArgumentNullException(nameof(database)); } this.database = database; this.properties = properties; this.appSettings = database.GetAppSettings(); this.Title = "Settings"; }
/// <summary> /// Initializes a new instance of the <see cref="VideoCaptionViewModel"/> class. /// </summary> /// <param name="video">YouTube video.</param> /// <param name="captionTrack">Captions.</param> /// <param name="properties">Platform Properties.</param> /// <param name="resource">Resources.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public VideoCaptionViewModel( Video video, ClosedCaptionTrack captionTrack, IPlatformProperties properties, IResourceHelper resource, IDatabase database, IErrorHandler error, INavigationHandler navigation) : base(properties, resource, database, error, navigation) { if (captionTrack == null) { throw new ArgumentNullException(nameof(captionTrack)); } this.Video = video; this.CaptionTrack = captionTrack; this.Captions = captionTrack.Captions.ToList(); }
/// <summary> /// Initializes a new instance of the <see cref="FlyoutPageViewModel"/> class. /// </summary> /// <param name="page">Flyout Page.</param> /// <param name="menuItems">Menu Items.</param> /// <param name="footerMenu">Optional button for the footer.</param> /// <param name="properties">Platform Properties.</param> /// <param name="resource">Resources.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public FlyoutPageViewModel(FlyoutPage page, List <MainMenuItem> menuItems, MainMenuItem footerMenu, IPlatformProperties properties, IResourceHelper resource, IDatabase database, IErrorHandler error, INavigationHandler navigation) : base(properties, resource, database, error, navigation) { this.FlyoutPage = page; this.MainMenuItems = menuItems; this.FooterMenu = footerMenu; if (!this.MainMenuItems.Any()) { throw new ArgumentException($"{nameof(menuItems)} is empty."); } this.Title = "Drastic"; this.SelectedItem = this.MainMenuItems.First(); }
/// <summary> /// Initializes a new instance of the <see cref="SettingsViewModel"/> class. /// </summary> /// <param name="properties">Platform Properties.</param> /// <param name="resource">Resources.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public SettingsViewModel(IPlatformProperties properties, IResourceHelper resource, IDatabase database, IErrorHandler error, INavigationHandler navigation) : base(properties, resource, database, error, navigation) { this.appSettings = this.Database.GetAppSettings(); this.Title = "Settings"; }
/// <summary> /// Initializes a new instance of the <see cref="UploadViewModel"/> class. /// </summary> /// <param name="popup">Popup.</param> /// <param name="client">API Client.</param> /// <param name="properties">Platform Properties.</param> /// <param name="resource">Resources.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public UploadViewModel(ImageUpload.Mobile.Interfaces.IPopup popup, ImageEndpoint client, IPlatformProperties properties, IResourceHelper resource, IDatabase database, IErrorHandler error, INavigationHandler navigation) : base(properties, resource, database, error, navigation) { this.popup = popup; this.client = client; }