/// <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);
        }
Beispiel #2
0
 /// <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;
 }
Beispiel #3
0
        /// <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;
        }