Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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;
        }