public ViewModel Evaluate()
        {
            var isValidResultsDirectory = PathExistenceEvaluator.Evaluate(Properties.Settings.Default.ResultsPath);
            var isIdle = EnableDiagnosticsEvaluator.Evaluate();

            return(new ViewModel
            {
                InspectionDirectory = string.IsNullOrWhiteSpace(Properties.Settings.Default.InspectionPath) ? "(None)" : Properties.Settings.Default.InspectionPath,
                AllowFolderChanges = true,
                IsIdle = isIdle,
                ResultsDirectory = string.IsNullOrWhiteSpace(Properties.Settings.Default.ResultsPath) ? "(None)" : Properties.Settings.Default.ResultsPath,
                IsValidResultsDirectory = isValidResultsDirectory,
                IsValidInspectionDirectory = PathExistenceEvaluator.Evaluate(Properties.Settings.Default.InspectionPath),
                GroupCount = 1,
                ChildDirectoryCount = ChildDirectoryCountEvaluator.Evaluate(),
                FoldersPerGroup = FoldersPerGroupEvaluator.Evaluate(ChildDirectoryCountEvaluator.Evaluate(), 1),
                EnableGroupSelecting = EnableGroupingEvaluator.Evaluate(new ViewModel {
                    IsValidResultsDirectory = isValidResultsDirectory, IsIdle = isIdle
                }),
                EnableSpecificGroup = false,
                SpecificGroupToInspect = 1,
                HasFilesToInspectAndIsIdle = HasFilesToInspectAndIsIdleEvaluator.Evaluate(),
                FilesToInspect = string.Join(Environment.NewLine, FilesToInspectEvaluator.Evaluate()),
                RefactorCssDirectory = Properties.Settings.Default.RefactorPath,
                HasCssRefactorPaths = HasRefactorPathsEvaluator.Evaluate(),
                GeneratedCssDirectory = Properties.Settings.Default.GeneratedFilesPath,
                SolutionDirectory = Properties.Settings.Default.SolutionPath
            });
        }
Exemplo n.º 2
0
        public List <GroupedFilesViewModel> Evaluate(int numberOfGroups, string[] directories)
        {
            var groups          = new List <GroupedFilesViewModel>();
            var foldersPerGroup = FoldersPerGroupEvaluator.Evaluate(directories.Count(), numberOfGroups);

            var i = 0;

            for (var g = 0; g < numberOfGroups; g++)
            {
                var group = new GroupedFilesViewModel {
                    Files = new List <string>()
                };
                group.StartDir = directories[i];

                for (var f = 0; f < foldersPerGroup; f++)
                {
                    if (i < directories.Count())
                    {
                        group.Files.AddRange(DirectoryDescendentFilesEvaluator.Evaluate(directories[i]).ToList());
                        i++;
                    }
                }

                group.EndDir = directories[i - 1];
                groups.Add(group);
            }

            if (directories.Count() > i)
            {
                for (var r = i; r < directories.Count(); r++)
                {
                    groups.Last().Files.Add(directories[r]);
                    groups.Last().EndDir = directories[r];
                }
            }

            return(groups);
        }