public List <File> FileList(string pattern, FileType type) { var files = new List <File>(); ISymCommand cmd = new SymCommand("File"); cmd.Set("Type", Utilities.FileTypeString(type)); cmd.Set("Name", pattern); cmd.Set("Action", "List"); _socket.Write(cmd); while (true) { cmd = _socket.ReadCommand(); if (cmd.HasParameter("Status")) { break; } if (cmd.HasParameter("Name")) { files.Add(new File(_socket.Server, SymDirectory.ToString(), cmd.Get("Name"), type, cmd.Get("Date"), cmd.Get("Time"), int.Parse(cmd.Get("Size")))); } if (cmd.HasParameter("Done")) { break; } } return(files); }
public int GetBatchOutputSequence(string reportName, int time) { Reconnect(); List <int> seqs = GetPrintSequences("REPWRITER"); foreach (int i in seqs) { var file = new File(_socket.Server, SymDirectory.ToString(), i.ToString(), FileType.Report, DateTime.Now, 0); string contents = FileRead(file); int beganIndex = contents.IndexOf("Processing begun on"); if (beganIndex != -1) { contents = contents.Substring(beganIndex + 41); string timeStr = contents.Substring(0, 8); string[] tokens = timeStr.Split(':'); string seconds = tokens[2], minutes = tokens[1], hours = tokens[0]; int currTime = Utilities.ConvertTime(timeStr); contents = contents.Substring(contents.IndexOf("(newline when done):") + 21); string name = contents.Substring(0, contents.IndexOf('\n')); if (name == reportName && Math.Abs(time - currTime) <= 1) { return(i); } } } return(-1); }
public List <string> GetReportTitles(int batchOutputSequence) { var file = new File(_socket.Server, SymDirectory.ToString(), batchOutputSequence.ToString(), FileType.Report, DateTime.Now, 0); var lines = FileRead(file).Split('\n'); var titles = (from line in lines where line.Contains("Seq:") && line.Contains("Title:") select line.Substring(line.IndexOf("Title:") + 7)).ToList(); return(titles); }
public int GetFileMaintenanceSequence(string title) { List <int> seqs = GetPrintSequences("MISCFMPOST"); foreach (int i in seqs) { var file = new File(_socket.Server, SymDirectory.ToString(), i.ToString(), FileType.Report, DateTime.Now, 0); string contents = FileRead(file); contents = contents.Substring(contents.IndexOf("Name of Posting: ") + 17); if (contents.StartsWith(title)) { return(i); } } return(-1); }