Exemplo n.º 1
0
        /// <summary>
        /// Executes a script from the configuration.
        /// </summary>
        /// <param name="script"></param>
        /// <returns>CLI return code.</returns>
        private int ExecuteConfigScript(Models.Script script)
        {
            int result = 0;

            List <ScriptPart> scriptParts = script.GetScriptParts();

            foreach (ScriptPart part in scriptParts)
            {
                if (part.Program != Constants.ProgramKsc)
                {
                    _logger.StartExternalProcessExecution(part);
                    result = StartExternalProcess(part);
                    if (result != 0)
                    {
                        break;
                    }
                    _logger.StopExternalProcessExecution(part);
                }
                else
                {
                    result = ActionDispatcher.Dispatch(part.Arguments.Split(' '), false);
                }
            }

            return(result);
        }