示例#1
0
        /// <summary>
        /// Run Setup.
        /// </summary>
        /// <returns>Exit Code</returns>
        public int Execute()
        {
            // Download all files.
            ServiceManager.Services.LogService.WriteSubHeader("Downloading Files");
            if (Downloads != null)
            {
                Downloads.DownloadAllFiles();
                if (Downloads.Count > 0)
                {
                    ServiceManager.Services.LogService.WriteSubHeader("All Downloads Complete");
                }
                else
                {
                    ServiceManager.Services.LogService.WriteLine("No downloads required.");
                }
            }
            else
            {
                ServiceManager.Services.LogService.WriteLine("No downloads required.");
            }

            // Execute all scripts.
            ServiceManager.Services.LogService.WriteHeader("Executing Scripts");
            if (Scripts != null)
            {
                if (Scripts.Count > 0)
                {
                    Scripts.Execute();
                    ServiceManager.Services.LogService.WriteSubHeader("All scripts complete");
                }
                else
                {
                    ServiceManager.Services.LogService.WriteLine("No scripts found.");
                }
            }
            else
            {
                ServiceManager.Services.LogService.WriteLine("No scripts found.");
            }

            // Check script junkie exit code.
            ServiceManager.Services.LogService.WriteHeader("Determining Script Junkie Exit Code");
            if (this.Scripts.Any(i => !i.Results.IsSuccess))
            {
                ServiceManager.Services.LogService.WriteLine("Exit 1");
                return(1);
            }

            ServiceManager.Services.LogService.WriteLine("Exit 0");
            return(0);
        }