Пример #1
0
        /// <summary>
        /// Registers a template to be used with the compiler
        /// </summary>
        /// <param name="name">The template name</param>
        /// <param name="templateContent">The template content</param>
        public void RegisterTemplate
        (
            string name,
            string templateContent
        )
        {
            Validate.IsNotEmpty(name);

            var parsedTemplate = ParseTemplate
                                 (
                templateContent
                                 );

            var compiledTemplate = Compile
                                   (
                parsedTemplate
                                   );

            var registeredTemplate = new RegisteredTemplate
                                     (
                name,
                parsedTemplate,
                compiledTemplate
                                     );

            _templateRepository.Add
            (
                registeredTemplate
            );
        }
Пример #2
0
        /// <summary>
        /// Adds a registered template to the repository
        /// </summary>
        /// <param name="template">The registered template</param>
        public void Add
        (
            RegisteredTemplate template
        )
        {
            Validate.IsNotNull(template);

            var name  = template.Name;
            var found = _templates.ContainsKey(name);

            if (found)
            {
                throw new InvalidOperationException
                      (
                          "A template with the name '{0}' has already been registered.".With
                          (
                              name
                          )
                      );
            }

            _templates.Add(name, template);
        }