Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }