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

CreateDirectory() private method

Creates a directory at a specific path
Virtual path is the path starting from the /files/ containers The entity is created against the current blog id
private CreateDirectory ( string VirtualPath ) : FileSystem.Directory
VirtualPath string The virtual path to be created
return FileSystem.Directory
        internal override FileSystem.Directory CreateDirectory(string VirtualPath)
        {
            VirtualPath = VirtualPath.VirtualPathToDbPath();
            if (DirectoryExists(VirtualPath))
                return GetDirectory(VirtualPath);
            var directoryName = "root";
            if (!string.IsNullOrWhiteSpace(VirtualPath))
                directoryName = string.Format("/{0}", VirtualPath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries).Last());
            FileSystem.FileStoreDb db = new FileSystem.FileStoreDb(this.connectionString);
            FileSystem.FileStoreDirectory dir = new FileSystem.FileStoreDirectory
            {
                BlogID = Blog.CurrentInstance.Id,
                CreateDate = DateTime.Now,
                FullPath = VirtualPath,
                Id = Guid.NewGuid(),
                LastAccess = DateTime.Now,
                Name = directoryName,
                LastModify = DateTime.Now
            };
            if (!string.IsNullOrWhiteSpace(VirtualPath))
            {
                var parentPath = VirtualPath.Contains("/") ? VirtualPath.Substring(0, VirtualPath.LastIndexOf("/")) : string.Empty;
                dir.ParentID = this.GetDirectory(parentPath).Id;
            }
            db.FileStoreDirectories.InsertOnSubmit(dir);
            db.SubmitChanges();
            db.Dispose();
            return GetDirectory(VirtualPath);
        }