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);
        }
示例#2
0
        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"));
                });
            }
        }