public void Delete(IFolder folder) { var callLog = Log.Call(); _dnnFolders.DeleteFolder(folder.AsDnn().SysId); callLog("ok"); }
public void Rename(IFolder folder, string newName) { var callLog = Log.Call($"..., {newName}"); var fld = _dnnFolders.GetFolder(folder.AsDnn().SysId); _dnnFolders.RenameFolder(fld, newName); callLog("ok"); }
public File <int, int> Add(IFolder parent, Stream body, string fileName, bool ensureUniqueName) { if (ensureUniqueName) { fileName = FindUniqueFileName(parent, fileName); } var dnnFolder = _dnnFolders.GetFolder(parent.AsDnn().SysId); var dnnFile = _dnnFiles.AddFile(dnnFolder, Path.GetFileName(fileName), body); return(GetFile(dnnFile.FileId)); }
public File <int, int> Add(IFolder parent, Stream body, string fileName, bool ensureUniqueName) { var callLog = Log.Call <File <int, int> >($"..., ..., {fileName}, {ensureUniqueName}"); if (ensureUniqueName) { fileName = FindUniqueFileName(parent, fileName); } var dnnFolder = _dnnFolders.GetFolder(parent.AsDnn().SysId); var dnnFile = _dnnFiles.AddFile(dnnFolder, Path.GetFileName(fileName), body); return(callLog("ok", GetFile(dnnFile.FileId))); }
/// <summary> /// When uploading a new file, we must verify that the name isn't used. /// If it is used, walk through numbers to make a new name which isn't used. /// </summary> /// <param name="parentFolder"></param> /// <param name="fileName"></param> /// <returns></returns> private string FindUniqueFileName(IFolder parentFolder, string fileName) { var callLog = Log.Call <string>($"..., {fileName}"); var dnnFolder = _dnnFolders.GetFolder(parentFolder.AsDnn().SysId); var name = Path.GetFileNameWithoutExtension(fileName); var ext = Path.GetExtension(fileName); for (var i = 1; i < AdamFileSystemBasic.MaxSameFileRetries && _dnnFiles.FileExists(dnnFolder, Path.GetFileName(fileName)); i++) { fileName = $"{name}-{i}{ext}"; } return(callLog(fileName, fileName)); }
public List <Folder <int, int> > GetFolders(IFolder folder) { var callLog = Log.Call <List <Folder <int, int> > >(); var fldObj = GetDnnFolder(folder.AsDnn().SysId); if (fldObj == null) { return(new List <Folder <int, int> >()); } var firstList = _dnnFolders.GetFolders(fldObj); var folders = firstList?.Select(DnnToAdam).ToList() ?? new List <Folder <int, int> >(); return(callLog($"{folders.Count}", folders)); }
/// <summary> /// When uploading a new file, we must verify that the name isn't used. /// If it is used, walk through numbers to make a new name which isn't used. /// </summary> /// <param name="parentFolder"></param> /// <param name="fileName"></param> /// <returns></returns> private string FindUniqueFileName(IFolder parentFolder, string fileName) { var numberedFile = fileName; var dnnFolder = _dnnFolders.GetFolder(parentFolder.AsDnn().SysId); bool FileExists(string fileToCheck) => _dnnFiles.FileExists(dnnFolder, Path.GetFileName(fileToCheck)); for (var i = 1; i < 1000 && FileExists(numberedFile); i++) { numberedFile = Path.GetFileNameWithoutExtension(fileName) + "-" + i + Path.GetExtension(fileName); } fileName = numberedFile; return(fileName); }
public List <File <int, int> > GetFiles(IFolder folder) { var fldObj = _dnnFolders.GetFolder(folder.AsDnn().SysId); // sometimes the folder doesn't exist for whatever reason if (fldObj == null) { return(new List <File <int, int> >()); } // try to find the files var firstList = _dnnFolders.GetFiles(fldObj); var files = firstList?.Select(DnnToAdam).ToList() ?? new List <File <int, int> >(); return(files); }
public List <Folder <int, int> > GetFolders(IFolder folder) => GetFolders(GetDnnFolder(folder.AsDnn().SysId));
public void Delete(IFolder folder) { _dnnFolders.DeleteFolder(folder.AsDnn().SysId); }
public void Rename(IFolder folder, string newName) { var fld = _dnnFolders.GetFolder(folder.AsDnn().SysId); _dnnFolders.RenameFolder(fld, newName); }