Esempio n. 1
0
        public static async Task<StorageFolder> CreateFolderStructureAsync(this StorageFolder currentFolder, string path)
        {
            foreach (var folder in path.Split('/', '\\').Where(f => string.IsNullOrWhiteSpace(f) == false))
            {
                currentFolder = await currentFolder.CreateFolderAsync(folder, CreationCollisionOption.OpenIfExists);
            }

            return currentFolder;
        }
Esempio n. 2
0
 public static async Task<StorageFolder> GetOrCreateFolderAsync(this StorageFolder folder, string name)
 {
     try
     {
        return await folder.GetFolderAsync(name);
     }
     catch (FileNotFoundException)
     {
         return await folder.CreateFolderAsync(name);
     }
 }
        public static async Task<StorageFolder> TryCreateFolderAsync(this StorageFolder storageFolder, string name, CreationCollisionOption options = CreationCollisionOption.OpenIfExists)
        {
            StorageFolder folder = null;
            try
            {
                folder = await storageFolder.CreateFolderAsync(name, options);
            }
            catch
            {
            }

            return folder;
        }
		public static async Task<StorageFolder> GetOrCreateFolderAsync(this StorageFolder folder, string folderName)
		{
			try { return await folder.CreateFolderAsync(folderName); } catch { }
			return await folder.GetFolderAsync(folderName);
		}
Esempio n. 5
0
        /// <summary>
        /// Gets or creates a single folder from the current folder by using the specified name.
        /// </summary>
        /// <param name="folder">The extended <see cref="IFolder">folder</see>.</param>
        /// <param name="name">The name of the folder to get or create.</param>
        /// <returns>A <see cref="Task{T}">task</see> containing the retrieved <see cref="IFolder">folder</see>.</returns>
        public static async Task<IFolder> GetOrCreateFolderAsync( this IFolder folder, string name )
        {
            Arg.NotNull( folder, nameof( folder ) );
            Arg.NotNullOrEmpty( name, nameof( name ) );
            Contract.Ensures( Contract.Result<Task<IFolder>>() != null );

            try
            {
                return await folder.GetFolderAsync( name ).ConfigureAwait( false );
            }
            catch ( IOException )
            {
                return await folder.CreateFolderAsync( name ).ConfigureAwait( false );
            }
        }
        /// <summary>
        /// Ensures that a folder with given name exists in given folder
        /// </summary>
        /// <param name="folder"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static async Task EnsureFolderExistsAsync(this StorageFolder folder, string name)
        {
            if (await ContainsFolderAsync(folder, name))
            {
                return;
            }

            await folder.CreateFolderAsync(name);
        }
 public static async Task<StorageFolder> EnsureFolderExists(this StorageFolder parent, string folderName) {
     return await parent.CreateFolderAsync(folderName, CreationCollisionOption.OpenIfExists);
 }