private void SearchFolderRegionAreas(WorkInfo info, string folderPath) { if (IsValidFolder(info, folderPath)) { foreach (string folder in Directory.GetDirectories(folderPath)) { SearchFolderRegionAreas(info, folder); } foreach (string file in Directory.GetFiles(folderPath)) { CleanRegionAreas(info, file, info.LicenseRegionText); } } }
private bool IsValidFile(WorkInfo info, string path) { if (!string.IsNullOrEmpty(path)) { string filename = Path.GetFileName(path).ToLowerInvariant(); return Path.HasExtension(filename) && info.AllowFilenamesEndsWith.Any(x => filename.EndsWith(x)) && info.IgnoreFiles.All(x => !filename.Equals(x, StringComparison.InvariantCultureIgnoreCase)) && info.IgnoreFilenamesEndsWith.All(x => !filename.EndsWith(x)) && File.Exists(path); } return false; }
private bool IsValidFolder(WorkInfo info, string path) { if (!string.IsNullOrEmpty(path)) { string foldername = Path.GetFileName(path).ToLowerInvariant(); return info.IgnoreFolders.All(x => !foldername.Equals(x, StringComparison.InvariantCultureIgnoreCase)) && Directory.Exists(path); } return false; }
private bool CleanRegionAreas(WorkInfo info, string path, string searchRegionName) { if (IsValidFile(info, path)) { TextInfo textInfo = new TextInfo(path); RegionAreaManager regionAreaManager = new RegionAreaManager(textInfo.DefaultText); List<RegionArea> regionAreas = regionAreaManager.GetRegionAreas(); int offset = 0; foreach (RegionArea regionArea in regionAreas) { if (regionArea.RegionName.IndexOf(searchRegionName, StringComparison.InvariantCultureIgnoreCase) >= 0) { regionArea.RegionIndexOffset = offset; string regionAreaTextRemoved = regionArea.RemoveRegionText(); offset += -regionArea.RegionLength; regionAreaManager.Text = regionAreaTextRemoved; } } textInfo.NewText = info.LicenseText + "\r\n\r\n" + regionAreaManager.Text.Trim(); if (textInfo.IsDifferent) { lvResults.Items.Add(path).Tag = textInfo; return true; } } return false; }