//
        // Checks that all required parameters are provided. If a missing one is found, a value may be provided via host.OnParameterError
        // but it's up to the caller / UI to decide how to act.
        // Returns true if there are any missing params, false otherwise.
        //
        public bool CheckForMissingRequiredParameters(IParameterSet templateParams, out IList <string> missingParamNames)
        {
            ITemplateEngineHost host = _environmentSettings.Host;
            bool anyMissingParams    = false;

            missingParamNames = new List <string>();

            foreach (ITemplateParameter parameter in templateParams.ParameterDefinitions)
            {
                if (parameter.Priority == TemplateParameterPriority.Required && !templateParams.ResolvedValues.ContainsKey(parameter))
                {
                    string newParamValue;
                    while (host.OnParameterError(parameter, null, "Missing required parameter", out newParamValue) &&
                           string.IsNullOrEmpty(newParamValue))
                    {
                    }

                    if (!string.IsNullOrEmpty(newParamValue))
                    {
                        templateParams.ResolvedValues.Add(parameter, newParamValue);
                    }
                    else
                    {
                        missingParamNames.Add(parameter.Name);
                        anyMissingParams = true;
                    }
                }
            }

            return(anyMissingParams);
        }
        //
        // Checks that all required parameters are provided. If a missing one is found, a value may be provided via host.OnParameterError
        // but it's up to the caller / UI to decide how to act.
        // Returns true if there are any missing params, false otherwise.
        //
        public static bool CheckForMissingRequiredParameters(ITemplateEngineHost host, IParameterSet templateParams)
        {
            bool missingParams = false;

            foreach (ITemplateParameter parameter in templateParams.ParameterDefinitions)
            {
                if (parameter.Priority == TemplateParameterPriority.Required && !templateParams.ResolvedValues.ContainsKey(parameter))
                {
                    string newParamValue;

                    while (host.OnParameterError(parameter, null, "Missing required parameter", out newParamValue) &&
                           string.IsNullOrEmpty(newParamValue))
                    {
                    }

                    if (!string.IsNullOrEmpty(newParamValue))
                    {
                        templateParams.ResolvedValues.Add(parameter, newParamValue);
                    }
                    else
                    {
                        missingParams = true;
                    }
                }
            }

            return(missingParams);
        }
Exemple #3
0
 public virtual bool OnParameterError(ITemplateParameter parameter, string receivedValue, string message, out string newValue)
 {
     return(_baseHost.OnParameterError(parameter, receivedValue, message, out newValue));
 }
Exemple #4
0
 public virtual bool OnParameterError(Microsoft.TemplateEngine.Abstractions.ITemplateParameter parameter, string receivedValue, string message, out string newValue)
 {
     return(_baseHost.OnParameterError(parameter, receivedValue, message, out newValue));
 }