示例#1
0
        /// <summary>
        /// Provides built-in confirmation before executing by prompting user to press 'y'
        /// override for specialized confirmation
        /// </summary>
        /// <returns></returns>
        public virtual bool ConfirmStart()
        {
            bool executionPreAuthorized = Silent;
            var  executionAuthorized    = executionPreAuthorized;
            var  isTaskValid            = RequiredArgumentsPresent();

            // Can't assume the user wants to write the arguments in an override
            //if (!GetType().NoConfirmation())
            //    WriteArguments();

            if (isTaskValid)
            {
                if (!executionPreAuthorized)
                {
                    var consoleInfo = ConsoleProgram.ConsolePrompt();
                    executionAuthorized = (consoleInfo.KeyChar == 'Y' || consoleInfo.KeyChar == 'y');
                }
            }

            return(executionAuthorized && isTaskValid);
        }