internal async Task <Models.Image> AddImageAsync(string userId, Models.Album album, string sourceFile) { var image = new Models.Image { UserId = userId, AlbumId = album.AlbumId, UploadFormat = "Mobile Image" }; await imageTableSync.InsertAsync(image); // create a new image record // add image to the record string copiedFilePath = await FileHelper.CopyFileAsync(image.Id, sourceFile, DataFilesPath); string copiedFileName = Path.GetFileName(copiedFilePath); // add an object representing a resize request for the blob // it will be synced after all images have been uploaded await resizeRequestSync.InsertAsync(new ResizeRequest { BlobName = copiedFileName }); var file = await imageTableSync.AddFileAsync(image, copiedFileName); image.File = file; return(image); }
public ImagesList(App app, Album album) { InitializeComponent(); this.album = album; // allow image upload to the public album with the default service only if logged in with AAD bool showImageUpload = !album.IsDefault || (!Settings.IsDefaultServiceUrl() || Settings.Current.AuthenticationType == Settings.AuthOption.ActiveDirectory); imgUpload.IsVisible = showImageUpload; viewModel = new ImagesListViewModel(App.Instance.MobileService, App.Instance); BindingContext = viewModel; viewModel.PropertyChanged += ViewModel_PropertyChanged; viewModel.DeleteImageViewAction = OnDelete; }
internal async Task <Models.Image> AddImageAsync(Models.Album album, string sourceFile) { var image = new Models.Image { UserId = Settings.Current.CurrentUserId, AlbumId = album.AlbumId, UploadFormat = "Mobile Image", UpdatedAt = DateTime.Now }; await imageTableSync.InsertAsync(image); // create a new image record // add image to the record string copiedFilePath = await FileHelper.CopyFileAsync(image.Id, sourceFile, DataFilesPath); string copiedFileName = Path.GetFileName(copiedFilePath); var file = await imageTableSync.AddFileAsync(image, copiedFileName); image.File = file; return(image); }
private async Task CreateAlbumAsync() { var album = new Album() { AlbumName = EditedAlbumName, IsDefault = false, UserId = Settings.Current.CurrentUserId }; await app.albumTableSync.InsertAsync(album); DependencyService.Get<IPlatform>().LogEvent("CreateAlbum"); }
public async Task DeleteAlbumAsync(Album selectedAlbum) { await app.albumTableSync.DeleteAsync(selectedAlbum); DependencyService.Get<IPlatform>().LogEvent("DeleteAlbum"); }
private void OnStartAlbumRename(object obj) { var selectedAlbum = obj as Album; Debug.WriteLine($"Selected album: {selectedAlbum?.AlbumName}"); if (selectedAlbum != null) { currentAlbumEdit = selectedAlbum; IsRename = true; EditedAlbumName = selectedAlbum.AlbumName; ShowInputControl = true; ShowCancelButton = true; } }
private async void OnDeleteAlbum(Album album) { var result = await DisplayAlert("Delete album?", "Delete album and all associated images?", "Yes", "No"); if (result) { await viewModel.DeleteAlbumAsync(album); await RefreshAsync(true); } }
public async Task<bool> UpdateAlbumAsync(Album selectedAlbum) { bool bRes = true; //Assume success try { //await albumTable.UpdateAsync(selectedAlbum); await (App.Current as App).albumTableSync.UpdateAsync(selectedAlbum); } catch (Exception ex) { bRes = false; } return bRes; }