/// <summary> /// Deletes a remfile and associated viewmodel. /// </summary> /// <param name="remFileViewModel">The associated viewmodel to the remFile model</param> /// <returns>Task completed</returns> private async Task DeleteRemFile(RemFileViewModel remFileViewModel) { RemFiles.Remove(remFileViewModel); var remFile = await _remFileStore.GetRemFile(remFileViewModel.Id); await _remFileStore.DeleteRemFile(remFile); }
/// <summary> /// Update view from RemFileViewModel from MainPage /// </summary> /// <param name="viewModel">RemFileViewModel from MainPage</param> private void UpdateViewFromRemFile(RemFileViewModel viewModel) { this.Id = viewModel.Id; this.Title = viewModel.Title; this.Description = viewModel.Description; this.ImagePath = viewModel.ImagePath; this.Date = viewModel.Date; }
/// <summary> /// Constructor for viewmodel associated with RemFileDetailPage.xaml /// </summary> /// <param name="viewModel">RemFileViewModel currently showing details for</param> /// <param name="remFileStore">DB connection</param> /// <param name="pageService">PageService</param> public RemFileDetailPageViewModel(RemFileViewModel viewModel, IRemFileStore remFileStore, IPageService pageService) { if (viewModel == null) { throw new ArgumentNullException(nameof(viewModel)); } this._remFileStore = remFileStore; this._pageService = pageService; UpdateViewFromRemFile(viewModel); SaveCommand = new Command(async() => await Save()); PhotoCommand = new Command(async() => await Photo()); }
/// <summary> /// Show detailPage of selected RemFile. /// </summary> /// <param name="viewModel">remFile viewmodel to show details for</param> /// <returns></returns> private async Task SelectRemFile(RemFileViewModel viewModel) { if (viewModel == null) { return; } var detailPageViewModel = new RemFileDetailPageViewModel(viewModel, _remFileStore, _pageService); detailPageViewModel.RemFileUpdated += (source, updatedRemFile) => { viewModel.Id = updatedRemFile.Id; viewModel.Title = updatedRemFile.Title; viewModel.Date = updatedRemFile.Date; viewModel.Description = updatedRemFile.Description; viewModel.ImagePath = updatedRemFile.ImagePath; }; await _pageService.PushAsync(new RemFileDetailPage(detailPageViewModel)); SelectedRemFile = null; }