public void InsertFilesToList(Regex regex, DateTime?dateFrom, DateTime?dateTo, long?sizeFrom, long?sizeTo, KeywordMatcher keywordMatcher, List <ItemInDatabase> list) { if (!(owner is CompressedFile) && regex.IsMatch(owner.Name) && ((dateFrom == null) || ((owner.CreationTime >= dateFrom) && (owner.CreationTime <= dateTo))) && (keywordMatcher.IsMatch(owner.Keywords))) { list.Add(owner); } foreach (FileInDatabase file in files) { if (regex.IsMatch(file.Name) && ((dateFrom == null) || ((file.CreationTime >= dateFrom) && (file.CreationTime <= dateTo))) && ((sizeFrom == null) || ((file.Length >= sizeFrom) && (file.Length <= sizeTo))) && (keywordMatcher.IsMatch(file.Keywords))) { list.Add(file); } } foreach (IFolder folder in folders) { folder.InsertFilesToList(regex, dateFrom, dateTo, sizeFrom, sizeTo, keywordMatcher, list); } }
/// <summary> /// Odnajduje tylko pliki (bez folderów). /// </summary> public void InsertFilesToList(Regex regex, DateTime?dateFrom, DateTime?dateTo, long?sizeFrom, long?sizeTo, KeywordMatcher keywordMatcher, List <FileInDatabase> listCrc, List <FileInDatabase> listNoCrc) { foreach (FileInDatabase file in files) { if (regex.IsMatch(file.Name) && ((dateFrom == null) || ((file.CreationTime >= dateFrom) && (file.CreationTime <= dateTo))) && ((sizeFrom == null) || ((file.Length >= sizeFrom) && (file.Length <= sizeTo))) && (keywordMatcher.IsMatch(file.Keywords))) { if (file.Hash == 0) { listNoCrc.Add(file); } else { listCrc.Add(file); } } } foreach (IFolder folder in folders) { folder.InsertFilesToList(regex, dateFrom, dateTo, sizeFrom, sizeTo, keywordMatcher, listCrc, listNoCrc); } }