예제 #1
0
        private static string[] GetTemplateUris(this CodeTemplate.TemplateNode templateNode)
        {
            List <string> templates = new List <string>();

            templates.Add(templateNode.Url);
            foreach (var parameterNode in templateNode.ParameterNodes)
            {
                if (parameterNode.From == CodeTemplate.ParameterFrom.Template)
                {
                    templates.AddRange(parameterNode.TemplateNode.GetTemplateUris());
                }
            }
            return(templates.Distinct().ToArray());
        }
예제 #2
0
        private static bool Validate(this CodeTemplate.TemplateNode templateNode, out string[] errorMessages)
        {
            List <string> errors = new List <string>();

            if (templateNode.RequestNodes.Validate(out string[] outErrorMessages) == false)
            {
                errors.AddRange(outErrorMessages);
            }
            if (templateNode.AdapterNodes.Validate(out outErrorMessages) == false)
            {
                errors.AddRange(outErrorMessages);
            }
            if (templateNode.ParameterNodes.Validate(out outErrorMessages) == false)
            {
                errors.AddRange(outErrorMessages);
            }
            errorMessages = errors.ToArray();
            return(errorMessages.Length == 0);
        }