public static async Task PickAndImportImagesToFolder(FolderItem folder) { var picker = new FileOpenPicker(); picker.ViewMode = PickerViewMode.Thumbnail; picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary; picker.FileTypeFilter.Add(".jpg"); picker.FileTypeFilter.Add(".jpeg"); picker.FileTypeFilter.Add(".png"); picker.FileTypeFilter.Add(".gif"); var files = await picker.PickMultipleFilesAsync(); if (files != null && files.Count > 0) { var recentStateMessage = StateMessaging.SendLoadingMessage("Scanning imported images..."); var imageItems = await folder.AddFilesToFolder(files); CurrentlyScannedFolder = folder; try { await BackendConctroller.TagImages(imageItems.Select(i => i.DatabaseId).ToList()); } catch (Exception) { } var pickTaskIds = new List <int>(); int compareTaskId = BackendConctroller.CompareImages( imageItems, FindSimilarFinishedHandler); pickTaskIds.Add(compareTaskId); // TODO: uncomment when backend provides quality check //int qualityTaskId = BackendConctroller.CheckImagesQuality( // imageItems, // CheckQualityFinishedHandler); //pickTaskIds.Add(qualityTaskId); FolderPickImages.Add(FolderPickCntr, imageItems); FolderPickTasks.Add(FolderPickCntr, pickTaskIds); FolderPickFolder.Add(FolderPickCntr, folder); FolderPickStateMessage.Add(FolderPickCntr, recentStateMessage); } FolderPickCntr++; }