示例#1
0
        // keep this internal so that users can't delete files that the provider manages
        internal void DisposeFileHandles()
        {
            PrimaryModule.DisposeFileStream();

            if (DocumentationFile != null)
            {
                DocumentationFile.DisposeFileStream();
            }
        }
示例#2
0
        private static IFile?Parse(FileInfo fileInfo)
        {
            IFile?parsedFile = null;

            switch (fileInfo.Extension)
            {
            case ".ps1":
            case ".bat":
            case ".sh":
            case ".cmd":
                parsedFile = new ShellFile(fileInfo);
                break;

            case ".html":
            case ".md":
                parsedFile = new DocumentationFile(fileInfo);
                break;

            case ".properties":
            case ".xml":
            case ".cfg":
            case ".conf":
            case ".gitignore":
            case ".yml":
            case ".yaml":
            case ".gradle":
            case FileExtensions.Json:
                parsedFile = new ConfigurationFile(fileInfo);
                break;

            case ".py":
                parsedFile = new PythonFile(fileInfo);
                break;

            case ".scala":
                parsedFile = new ScalaFile(fileInfo);
                break;

            case FileExtensions.Java:
                parsedFile = new JavaSourceFile(fileInfo);
                break;

            case ".png":
            default:
                break;
            }
            ;

            if (parsedFile == null && extensions.Add(fileInfo.FullName))
            {
                Console.WriteLine(fileInfo.FullName);
            }

            return(parsedFile);
        }
示例#3
0
        public ActionResult DeleteFile(int id)
        {
            DocumentationFile file = this.docTasks.GetDocumentationFile(id);

            if (file != null)
            {
                this.docTasks.DeleteDocumentationFile(file);
                return(RedirectToAction("Manage"));
            }
            else
            {
                return(new HttpNotFoundResult());
            }
        }
示例#4
0
        public ActionResult Download(int id)
        {
            DocumentationFile file = this.docTasks.GetDocumentationFile(id);

            if (file != null)
            {
                return(new FileStreamResult(
                           new MemoryStream(file.FileData),
                           MIMEAssistant.GetMIMEType(file.FileName))
                {
                    FileDownloadName = file.FileName
                });
            }
            else
            {
                return(new HttpNotFoundResult());
            }
        }
示例#5
0
 public ActionResult CreateFile(DocumentationFileViewModel vm)
 {
     if (ModelState.IsValid)
     {
         if (vm.FileData != null && vm.FileData.ContentLength > 0)
         {
             using (Stream fileStream = vm.FileData.InputStream)
             {
                 DocumentationFile file = new DocumentationFile();
                 file.FileName             = vm.FileData.FileName;
                 file.FileData             = StreamUtil.StreamToBytes(fileStream);
                 file.Title                = vm.Title;
                 file.Description          = vm.Description;
                 file.LastModifiedDate     = vm.LastModifiedDate.HasValue ? vm.LastModifiedDate.Value : DateTime.Now;
                 file.UploadedBy           = this.userTasks.GetAdminUser(User.Identity.Name);
                 file.UploadedDate         = DateTime.Now;
                 file.DocumentationFileTag = this.docTasks.GetDocumentationFileTag(vm.TagId);
                 file = this.docTasks.SaveDocumentationFile(file);
                 return(RedirectToAction("Manage"));
             }
         }
     }
     return(CreateFile());
 }
示例#6
0
 public static IEnumerable <DocumentationFile> InputFiles(string path) =>
 from f in Directory.GetFiles(GetProjectDir("Tests"), $"{path}", SearchOption.AllDirectories)
 let dir = new DirectoryInfo(f)
               where dir?.Parent != null && !SkipFolders.Contains(dir.Parent.Name)
           select DocumentationFile.Load(new FileInfo(f));
示例#7
0
文件: LitUp.cs 项目: lukapor/NEST
 public static IEnumerable <DocumentationFile> InputFiles(string extension) =>
 from f in Directory.GetFiles(Program.InputFolder, $"*.{extension}", SearchOption.AllDirectories)
 let dir = new DirectoryInfo(f)
               where dir?.Parent != null && !SkipFolders.Contains(dir.Parent.Name)
           select DocumentationFile.Load(new FileInfo(f));
 internal void DisposeFileHandles()
 {
     PrimaryModule.DisposeFileStream();
     DocumentationFile?.DisposeFileStream();
 }
 private static bool IsFolder(DocumentationFile docFile) => docFile.Path.StartsWith("/");
示例#10
0
 public void DeleteDocumentationFile(DocumentationFile file)
 {
     this.fileRepo.Delete(file);
 }
示例#11
0
 public DocumentationFile SaveDocumentationFile(DocumentationFile file)
 {
     return(this.fileRepo.SaveOrUpdate(file));
 }