public static RawRecord Parse ( [NotNull] string text ) { Sure.NotNullNorEmpty(text, nameof(text)); string[] lines = IrbisText.SplitIrbisToLines(text); if (lines[0] == lines[1]) { lines = lines.GetSpan(1); } RawRecord result = Parse(lines); return(result); }
public async Task <string[]> ListFilesAsync ( string specification ) { if (!CheckConnection() || string.IsNullOrEmpty(specification)) { return(Array.Empty <string>()); } var query = new Query(this, CommandCode.ListFiles); query.AddAnsi(specification); var response = await ExecuteAsync(query); if (ReferenceEquals(response, null)) { return(Array.Empty <string>()); } var lines = response.ReadRemainingAnsiLines(); var result = new LocalList <string>(); foreach (var line in lines) { var files = IrbisText.SplitIrbisToLines(line); foreach (var file1 in files) { if (!string.IsNullOrEmpty(file1)) { foreach (var file2 in file1.Split(IrbisText.WindowsDelimiter)) { if (!string.IsNullOrEmpty(file2)) { result.Add(file2); } } } } } return(result.ToArray()); } // method ListFilesAsync