Ejemplo n.º 1
0
        public override List <RFFileAvailableEvent> CheckSite(List <RFMonitoredFile> monitoredFiles)
        {
            var foundFiles = new List <RFFileAvailableEvent>();

            foreach (var file in monitoredFiles)
            {
                var directory = GetUnixDirectory(file.GetSubDirectory);
                if (!string.IsNullOrWhiteSpace(file.FileNameRegex))
                {
                    foreach (var candidate in _connection.ListFiles(directory, file.FileNameRegex, file.Recursive).OrderBy(f => f.ModifiedDate))
                    {
                        ProcessCandidate(file, candidate, ref foundFiles);
                    }
                }
                if (!string.IsNullOrWhiteSpace(file.FileNameWildcard))
                {
                    var regex = RFRegexHelpers.WildcardToRegex(file.FileNameWildcard);
                    foreach (var candidate in _connection.ListFiles(directory, regex, file.Recursive).OrderBy(f => f.ModifiedDate))
                    {
                        ProcessCandidate(file, candidate, ref foundFiles);
                    }
                }
            }
            return(foundFiles);
        }