BlogEngine.Core.Providers.DbFileSystemProvider.DeleteDirectory C# (CSharp) Method

DeleteDirectory() public method

Deletes a spefic directory from a virtual path
Virtual path is the path starting from the /files/ containers The entity is queried against to current blog id
public DeleteDirectory ( string VirtualPath ) : void
VirtualPath string The path to delete
return void
        public override void DeleteDirectory(string VirtualPath)
        {
            if (!DirectoryExists(VirtualPath.VirtualPathToDbPath()))
                return;
            FileSystem.FileStoreDb db = new FileSystem.FileStoreDb(this.connectionString);
            var query = db.FileStoreDirectories.Where(x => x.FullPath.ToLower() == VirtualPath.VirtualPathToDbPath().ToLower() && x.BlogID == Blog.CurrentInstance.Id);
            foreach (var item in query)
            {
                var subDirectories = db.FileStoreDirectories.Where(x => x.ParentID == item.Id);
                foreach (var sb in subDirectories)
                    DeleteDirectory(sb.FullPath);
            }
            db.FileStoreDirectories.DeleteAllOnSubmit(query);
            db.SubmitChanges();
            db.Dispose();
        }