Esempio n. 1
0
        public void Delete(IFolder folder)
        {
            var callLog = Log.Call();

            _dnnFolders.DeleteFolder(folder.AsDnn().SysId);
            callLog("ok");
        }
Esempio n. 2
0
        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");
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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)));
        }
Esempio n. 5
0
        /// <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));
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
 public List <Folder <int, int> > GetFolders(IFolder folder)
 => GetFolders(GetDnnFolder(folder.AsDnn().SysId));
Esempio n. 10
0
 public void Delete(IFolder folder)
 {
     _dnnFolders.DeleteFolder(folder.AsDnn().SysId);
 }
Esempio n. 11
0
        public void Rename(IFolder folder, string newName)
        {
            var fld = _dnnFolders.GetFolder(folder.AsDnn().SysId);

            _dnnFolders.RenameFolder(fld, newName);
        }