/// <summary> /// Imports the given ImportCandidate and adds a new entry in the database. The pages to be imported are extracted from the original document /// into a temporary PDF file, which is then moved to the archive folder. /// </summary> /// <param name="importCandidate">The ImportCandidate that shall be imported into the database.</param> /// <returns></returns> /// <exception cref="SheetAlreadyExistsException"></exception> public async Task ImportImportCandidate(ImportCandidate importCandidate) { //Check if Sheet is already in Database //Throw if true foreach (var sheet in importCandidate.AssignedPiece.Sheet) { if (sheet.Part == importCandidate.AssignedPart) { throw new SheetAlreadyExistsException(sheet, importCandidate); } } //Create database entry (only if sheet does not exists yet) Sheet newSheet = new Sheet(importCandidate.AssignedPart, importCandidate.AssignedPiece); await Manager.Context.Sheet.AddAsync(newSheet); await Manager.Context.SaveChangesAsync(); //Extract page Extractor.InputFile = new FileInfo(importCandidate.DocumentPath); Extractor.OutputPath = new DirectoryInfo(Manager.ZebraConfig.TempDir); Extractor.OutputName = FileNameResolver.GetFileName(newSheet); int[] pages = new int[importCandidate.Pages.Count]; for (int i = 0; i < importCandidate.Pages.Count; i++) { pages[i] = importCandidate.Pages[i].PageNumber; } try { //Extract pages to be imported and save into temp PDF file await Extractor.ExtractAsync(pages); //Push file to archive Manager.Archive.PushFile(new FileInfo(Manager.ZebraConfig.TempDir + "\\" + FileNameResolver.GetFileName(newSheet)), newSheet, FileImportMode.Copy, false); } catch (Exception) { //Undo Sheet creation in Database Manager.Context.Sheet.Remove(newSheet); Manager.Context.SaveChanges(); throw; } finally { //Remove temp file if it has been created if (File.Exists(Manager.ZebraConfig.TempDir + "\\" + FileNameResolver.GetFileName(newSheet))) { File.Delete(Manager.ZebraConfig.TempDir + "\\" + FileNameResolver.GetFileName(newSheet)); } } }
public void Setup() { _testpath = Path.Combine(Path.GetTempPath(), "QorpentTest\\FileResolverTest"); Directory.CreateDirectory(_testpath); Directory.Delete(_testpath, true); Directory.CreateDirectory(_testpath); fr = new FileNameResolver { Root = _testpath }; }
public TestProject() { Resolver = new FileNameResolver { Root = EnvironmentInfo.RootDirectory }; SourceFiles = new[] { "~/tfolder1", "~/tfolder2" }; //NOTE: not ever used property Temporary Folder // this.TemporaryFolder = "~/tmp/"; OutputFolder = "~/output/"; }
public void setup() { this.dir = Path.Combine(Path.GetTempPath(), "core_file_resolver_test"); if (Directory.Exists(dir)) { Directory.Delete(dir, true); } Directory.CreateDirectory(dir); this.ctx = new QWebContext { RootDirectory = dir, ApplicationName = "/app" }; this.res = new FileNameResolver(); this.log = new TextWriterLogListener(Console.Out, LogLevel.All); }
public void TestReadFile() { var fileLoader = Container.Resolve <ISudokuFileLoader>(); var testFilesPaths = new List <string>() { FileNameResolver.ResolveFileName(FileNames.Easy), FileNameResolver.ResolveFileName(FileNames.Medium), FileNameResolver.ResolveFileName(FileNames.Hard), FileNameResolver.ResolveFileName(FileNames.Samurai), }; foreach (var testFilesPath in testFilesPaths) { var sudoku = fileLoader.LoadSudoku(testFilesPath); Assert.IsNotNull(sudoku); } }
public void SolveTest() { var fileLoader = Container.Resolve <ISudokuFileLoader>(); var testFilesPaths = new List <string>() { FileNameResolver.ResolveFileName(FileNames.Easy), FileNameResolver.ResolveFileName(FileNames.Medium), FileNameResolver.ResolveFileName(FileNames.Hard), FileNameResolver.ResolveFileName(FileNames.Samurai), }; foreach (var testFilesPath in testFilesPaths) { var sudoku = fileLoader.LoadSudoku(testFilesPath); sudoku.Solve(); Assert.IsTrue(sudoku.Cells.Any(c => !c.Value.HasValue)); } }
public void FetchAllSolutionsTest() { var fileLoader = Container.Resolve <ISudokuFileLoader>(); var sudokuSolver = Container.Resolve <ISudokuSolver>(); var testFilesPaths = new List <string>() { FileNameResolver.ResolveFileName(FileNames.Easy), FileNameResolver.ResolveFileName(FileNames.Medium), //FileNameResolver.ResolveFileName(FileNames.Hard), //FileNameResolver.ResolveFileName(FileNames.Samurai), }; foreach (var testFilesPath in testFilesPaths) { var sudoku = fileLoader.LoadSudoku(testFilesPath); var allSolutions = sudokuSolver.FindAllSolutions(sudoku.Cells); Assert.IsTrue(allSolutions.Count() == 1); } }
private void EvalScriptPath() { _filename = FileNameResolver.Resolve("~/scripts/" + ScriptName + ".js"); }
private void EvalScriptPath() { _filename = FileNameResolver.Resolve("~/styles/" + StyleName + ".css"); }
/// <summary> /// processing of execution - main method of action /// </summary> /// <returns> </returns> protected override object MainProcess() { return(FileNameResolver.Resolve(FileName, Existed)); }
/// <summary> /// Определяет имя файла в текущей файловой системе, текущем контексте /// </summary> /// <param name="name">Имя файла</param> /// <param name="existed"> </param> /// <param name="resolvetype">тип файла</param> /// <returns> </returns> public string ResolveFileName(string name, bool existed = true, FileSearchResultType resolvetype = FileSearchResultType.FullPath) { return(FileNameResolver.Resolve(FileSearchQuery.Leveled(name, existed, resolvetype))); }