예제 #1
0
        public List <Registration> ToRegistrations(List <string> sourceFiles)
        {
            var registrations = new List <Registration>();

            foreach (var file in sourceFiles)
            {
                var definition = _registry.Locate(file);
                if (definition == null)
                {
                    continue;
                }

                var parser = _filenameParserProvider.GetParser(definition.FilenameParserType);
                if (parser == null)
                {
                    _logger.LogWarning("Unable to find parser for type {type}", definition.FilenameParserType);
                    continue;
                }

                var timestamp = parser.GetTimestamp(file);
                registrations.Add(new Registration(file, definition, timestamp));
            }

            return(registrations);
        }
예제 #2
0
        public List <Registration> ToRegistrations(List <string> sourceFiles, CancellationToken cancellationToken)
        {
            var registrations = new List <Registration>();

            foreach (var file in sourceFiles)
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    return(registrations);
                }

                var(definition, timestamp) = _registry.Locate(file);
                if (definition == null)
                {
                    continue;
                }

                registrations.Add(new Registration(file, definition, timestamp));
            }

            return(registrations);
        }