예제 #1
0
        private void init(Model.SearchParameters parameters)
        {
            _parameters = parameters;
            _foundFiles = new List<FileInfo>();
            _progress = new Messages.CurrentProgress();
            _progressMessage = new Messages.ThereIsProgress(_progress);

            _folderNameIsFiltered = !string.IsNullOrEmpty(_parameters.Folder);
            _fileNameIsFiltered = !string.IsNullOrEmpty(_parameters.FileName);
            _fileContentIsFiltered = !string.IsNullOrEmpty(_parameters.Content);

            var regexOptions =
                        System.Text.RegularExpressions.RegexOptions.Compiled
                        | System.Text.RegularExpressions.RegexOptions.CultureInvariant
                        | System.Text.RegularExpressions.RegexOptions.IgnoreCase
                        | System.Text.RegularExpressions.RegexOptions.Singleline;

            if (_folderNameIsFiltered)
            {
                if (parameters.FolderIsRegex)
                    _regexForMatchingFoldername = new System.Text.RegularExpressions.Regex(_parameters.Folder, regexOptions);
                else
                {
                    var pattern = getSearchPattern(_parameters.Folder);
                    _regexForMatchingFoldername = new Wildcard(pattern, regexOptions);
                }
            }

            if (_fileNameIsFiltered)
            {
                if (parameters.FileNameIsRegex)
                    _regexForMatchingFilename = new System.Text.RegularExpressions.Regex(_parameters.FileName, regexOptions);
                else
                {
                    var pattern = getSearchPattern(_parameters.FileName);
                    _regexForMatchingFilename = new Wildcard(pattern, regexOptions);
                }
            }

            if (parameters.ContentIsRegex)
                _regexForMatchingFileContent = new System.Text.RegularExpressions.Regex(_parameters.Content);

            _root = _parameters.Root;
        }
예제 #2
0
 private void init()
 {
     _searchParameters = new Model.SearchParameters();
 }