コード例 #1
0
        public void Rename(IFile file, string newName)
        {
            var callLog = Log.Call();

            try
            {
                var path = Path.Combine(_serverPaths.FullContentPath(AdamContext.Site.ContentPath), file.Path);

                var currentFilePath = Path.Combine(path, file.FullName);
                if (TryToRenameFile(newName, currentFilePath, path))
                {
                    return;
                }

                var dnnFile = OqtFileRepository.GetFile(file.AsOqt().SysId);
                dnnFile.Name = newName;
                OqtFileRepository.UpdateFile(dnnFile);
                Log.Add($"VirtualFile {dnnFile.FileId} renamed to {dnnFile.Name}");

                callLog("ok");
            }
            catch (Exception e)
            {
                callLog($"Error:{e.Message}; {e.InnerException}");
            }
        }
コード例 #2
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 fullContentPath = Path.Combine(_serverPaths.FullContentPath(AdamContext.Site.ContentPath), parent.Path);

            Directory.CreateDirectory(fullContentPath);
            var filePath = Path.Combine(fullContentPath, fileName);

            using (var stream = new FileStream(filePath, FileMode.Create))
            {
                body.CopyTo(stream);
            }
            var fileInfo = new FileInfo(filePath);

            // register into oqtane
            var oqtFileData = new File
            {
                Name        = Path.GetFileName(fileName),
                FolderId    = parent.Id,
                Extension   = fileInfo.Extension.ToLowerInvariant().Replace(".", ""),
                Size        = (int)fileInfo.Length,
                ImageHeight = 0,
                ImageWidth  = 0
            };
            var oqtFile = OqtFileRepository.AddFile(oqtFileData);

            return(callLog("ok", GetFile(oqtFile.FileId)));
        }
コード例 #3
0
        public void Delete(IFile file)
        {
            var callLog = Log.Call();
            var dnnFile = OqtFileRepository.GetFile(file.AsOqt().SysId);

            OqtFileRepository.DeleteFile(dnnFile.FileId);
            callLog("ok");
        }
コード例 #4
0
        public List <File <int, int> > GetFiles(IFolder folder)
        {
            var callLog = Log.Call <List <File <int, int> > >();
            var fldObj  = OqtFolderRepository.GetFolder(folder.AsOqt().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 = OqtFileRepository.GetFiles(fldObj.FolderId);
            var files     = firstList?.Select(OqtToAdam).ToList()
                            ?? new List <File <int, int> >();

            return(callLog($"{files.Count}", files));
        }
コード例 #5
0
        //public int MaxUploadKb()
        //    => (ConfigurationManager.GetSection("system.web/httpRuntime") as HttpRuntimeSection)
        //       ?.MaxRequestLength ?? 1;

        #endregion

        #region Files

        public File <int, int> GetFile(int fileId)
        {
            var file = OqtFileRepository.GetFile(fileId);

            return(OqtToAdam(file));
        }