Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var options = new Options();

            // Show wizard to help the user with filling the needed scan configuration
            if (args.Length == 0)
            {
                var wizard = new Forms.Wizard(options);
                wizard.ShowDialog();

                if (string.IsNullOrEmpty(options.User) && string.IsNullOrEmpty(options.ClientID))
                {
                    // Trigger validation which will show usage information
                    options.ValidateOptions(args);
                }
            }
            else
            {
                // Validate commandline options
                options.ValidateOptions(args);
            }

            if (options.ExportPaths != null && options.ExportPaths.Count > 0)
            {
                Generator generator = new Generator();
                generator.CreateGroupifyReport(options.ExportPaths);
                generator.CreateListReport(options.ExportPaths);
                generator.CreatePageReport(options.ExportPaths);
                generator.CreatePublishingReport(options.ExportPaths);
            }
            else
            {
                //Instantiate scan job
                ModernizationScanJob job = new ModernizationScanJob(options)
                {
                    // I'm debugging
                    //UseThreading = false
                };

                job.Execute();

                // Create reports
                if (!options.SkipReport)
                {
                    string        workingFolder = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
                    List <string> paths         = new List <string>
                    {
                        Path.Combine(workingFolder, job.OutputFolder)
                    };

                    var generator = new Generator();

                    generator.CreateGroupifyReport(paths);

                    if (Options.IncludeLists(options.Mode))
                    {
                        generator.CreateListReport(paths);
                    }

                    if (Options.IncludePage(options.Mode))
                    {
                        generator.CreatePageReport(paths);
                    }

                    if (Options.IncludePublishing(options.Mode))
                    {
                        generator.CreatePublishingReport(paths);
                    }
                }
            }
        }