コード例 #1
0
        public async Task DeleteMediaFiles(List <KeyValuePair <string, long> > mediaFiles)
        {
            var folders = await MapDeckIdToDeckIdFolder();

            foreach (var file in mediaFiles)
            {
                StorageFolder folder;
                if (folders.Keys.Contains(file.Value))
                {
                    folder = folders[file.Value];
                }
                else
                {
                    folder = await MediaFolder.TryGetItemAsync(file.Value.ToString()) as StorageFolder;
                }
                if (folder == null)
                {
                    continue;
                }

                var storageFile = await folder.TryGetItemAsync(file.Key) as StorageFile;

                if (storageFile != null)
                {
                    await storageFile.DeleteAsync();

                    MarkFileRemoveIntoDatabase(storageFile.Name, file.Value);
                }
            }
        }
コード例 #2
0
        public async Task <StorageFolder> GetDeckMediaFolder(long deckId)
        {
            var folder = await MediaFolder.TryGetItemAsync(deckId.ToString()) as StorageFolder;

            if (folder == null)
            {
                folder = await MediaFolder.CreateFolderAsync(deckId.ToString());
            }
            return(folder);
        }
コード例 #3
0
        public async Task <Dictionary <long, StorageFolder> > MapDeckIdToDeckIdFolder()
        {
            long[] deckIdArray = collection.Deck.AllIds();
            Dictionary <long, StorageFolder> folderList = new Dictionary <long, StorageFolder>();

            foreach (var id in deckIdArray)
            {
                StorageFolder folder = await MediaFolder.TryGetItemAsync(id.ToString()) as StorageFolder;

                if (folder == null)
                {
                    folder = await MediaFolder.CreateFolderAsync(id.ToString());
                }
                folderList.Add(id, folder);
            }

            return(folderList);
        }