private TSqlScript ParseSp(IFileInfoWrapper spFile) { var sql = _fileWrapper.ReadAllText(spFile.FullName); var sqlParser = new TSql140Parser(false); var parsedSql = sqlParser.Parse(new StringReader(sql), out var parseErrors); if (parseErrors.Count != 0) { throw new Exception($"Error parsing SQL file {spFile.FullName}"); } var nonCommentTokens = parsedSql.ScriptTokenStream .Where(x => x.TokenType != TSqlTokenType.MultilineComment) .Where(x => x.TokenType != TSqlTokenType.SingleLineComment) .Select(x => x.Text); var result = sqlParser.Parse(new StringReader(string.Join("", nonCommentTokens)), out var parseErrors2); if (parseErrors2.Count != 0) { throw new Exception($"Error parsing SQL with comments removed {spFile.FullName}"); } return(result as TSqlScript); }
public TxtHandler(IFileWrapper file, IFileInfoWrapper fileInfo, IConsoleWrapper console, IDirectoryWrapper directory) : base(file, fileInfo, console, directory) { _file = file; _fileInfo = fileInfo; _console = console; _directory = directory; }
private async Task SaveChangesAsync(IEnumerable <Class> classes) { IFileInfoWrapper location = _fileInfoWrapperFactory.Create(_fileLocationProvider.GetClassRepositoryPath()); using (var writer = new StreamWriter(location.OpenWrite())) { await writer.WriteAsync(JsonConvert.SerializeObject(classes)); } }
private async Task SaveChangesAsync(IEnumerable <FileEntity.Test> tests) { IFileInfoWrapper location = _fileInfoWrapperFactory.Create(_testRepositoryLocation); using (var writer = new StreamWriter(location.OpenWrite())) { await writer.WriteAsync(JsonConvert.SerializeObject(tests)); } }
protected AbstractHandler(IFileWrapper file, IFileInfoWrapper fileInfo, IConsoleWrapper console, IDirectoryWrapper directory) { _file = file; _fileInfo = fileInfo; _console = console; _directory = directory; }
private async Task CreateClassFromFile(IFileInfoWrapper[] files) { byte chosenIndex = SharedConsoleFlows.AskForByte("What file should be used?"); IFileInfoWrapper chosenFile = await GetFile(files, chosenIndex); var request = new CreateMagisterClassRequest { MagisterFileLocation = chosenFile.FullName }; CreateMagisterClassResult createMagisterClassResponse = await _classController.CreateMagisterClassAsync(request); if (createMagisterClassResponse.ValidationMessages.Any()) { SharedConsoleFlows.PrintValidationMessages(createMagisterClassResponse.ValidationMessages); await StartAsync(); } }
private async Task <List <FileEntity.Test> > RetrieveOrCreateTestsAsync() { IFileInfoWrapper location = _fileInfoWrapperFactory.Create(_testRepositoryLocation); List <FileEntity.Test> tests = null; if (!location.Exists) { tests = new List <FileEntity.Test>(); } else { using (var reader = new StreamReader(location.OpenRead())) { tests = JsonConvert.DeserializeObject <List <FileEntity.Test> >(await reader.ReadToEndAsync()); } } return(tests); }
/// <inheritdoc/> public MagisterClass ReadClass(Application.Models.ValueTypes.Path fileLocation) { IFileInfoWrapper fileInfo = _fileInfoWrapperFactory.Create(fileLocation); using (var reader = new StreamReader(fileInfo.OpenRead())) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { var magisterRecords = csv .GetRecords <MagisterRecord>() .ToList(); var students = magisterRecords.MapToMagisterStudents(); return(new MagisterClass { Name = magisterRecords.First().Klas, Students = students, }); } }
public void Init() { _mockFileInfo = Substitute.For <IFileInfoWrapper>(); _mockFileInfo.Name.Returns("fileInfoName"); _mockFileInfo.FullName.Returns("fullFileName"); _mockFileInfo.CreationTime.Returns(new DateTime(2020, 12, 31)); _mockFileInfo.Extension.Returns(".txt"); _mockConsole = Substitute.For <IConsoleWrapper>(); _mockFile = Substitute.For <IFileWrapper>(); _mockFile.ReadAllText(_mockFileInfo.Name).Returns("5545"); _mockDirectory = Substitute.For <IDirectoryWrapper>(); _mockDirectory.CreateDirectory(_mockFileInfo.Name); _mockDirectory.GetCreationTime(_mockFileInfo.CreationTime.ToString(CultureInfo.InvariantCulture)); _target = new TxtHandler(_mockFile, _mockFileInfo, _mockConsole, _mockDirectory); }
private async Task <List <Class> > RetrieveOrCreateClassesAsync() { var repositoryPath = _fileLocationProvider.GetClassRepositoryPath(); IFileInfoWrapper location = _fileInfoWrapperFactory.Create(repositoryPath); List <Class> classes = null; if (location.Exists) { using (StreamReader reader = new StreamReader(location.OpenRead())) { classes = JsonConvert.DeserializeObject <List <Class> >(await reader.ReadToEndAsync()); } } else { classes = new List <Class>(); } return(classes); }
public FileSystem(IDirectoryInfoWrapper currentDirectory, IFileInfoWrapper fileInfoWrapper) { _currentDirectory = currentDirectory; _fileInfoWrapper = fileInfoWrapper; WorkingDirectory = _currentDirectory.WorkingDirectory; }
private ActionType ProcessFile(IFileInfoWrapper file) { return(fileSystemProcessingStrategy .ProcessItemFinded(file, filter, OnFileFinded, OnFileFiltered, OnEvent)); }
public HousekeepingBookWriter(IFileLocationProvider fileLocationProvider) { IFileInfoWrapper workbookLocation = fileLocationProvider.GetWorkbookLocation(); _excelPackage = new ExcelPackage(workbookLocation.ToFileInfo()); }
public TextReader Create(IFileInfoWrapper path) { return(new StreamReader(path.OpenRead())); }