private async void SetFolderPermission() { if (!this.ItemCollection.HasSelectedItems) { return; } var dialog = new SetSharedFolderPermissionDialog(); var dialogResult = await dialog.ShowAsync(); if (dialogResult != ContentDialogResult.Primary) { return; } this.ChangePermissions(dialog.ViewModel.AccessLevel); }
private async void ConfirmShare() { if (!MegaContacts.ItemCollection.HasSelectedItems) { return; } // Ask user for the access level var shareFolderToDialog = new SetSharedFolderPermissionDialog(); var dialogResult = await shareFolderToDialog.ShowAsync(); if (dialogResult != ContentDialogResult.Primary) { return; } // Use a temp variable to avoid "InvalidOperationException" tracing the selected items var selectedItems = this.MegaContacts.ItemCollection.SelectedItems.ToList(); this.OnClosePanelEvent(); bool result = true; foreach (var contact in selectedItems) { var share = new ShareRequestListenerAsync(); result = result & await share.ExecuteAsync(() => { SdkService.MegaSdk.share(this.Node.OriginalMNode, contact.MegaUser, (int)shareFolderToDialog.ViewModel.AccessLevel, share); }); } if (!result) { OnUiThread(async() => { await DialogService.ShowAlertAsync( ResourceService.AppMessages.GetString("AM_ShareFolderFailed_Title"), ResourceService.AppMessages.GetString("AM_ShareFolderFailed")); }); } }