Esempio n. 1
0
        public TemplateExecutionResult Apply(TemplateDictionary state)
        {
            var result = new TemplateExecutionResult();
            result.Errors.AddRange(_parserErrors);
            if (result.Errors.ContainsError() || result.Errors.ContainsWarning())
            {
                return result;
            }

            State = state;
            var documentResult = Document(_ast);

            result.Output = documentResult.Buffer.ToString();
            result.Errors.AddRange(documentResult.Errors);

            return result;
        }
        public TemplateExecutionResult Execute(TemplateDictionary state)
        {
            var result = new TemplateExecutionResult {Template = this};

            _buffer = new StringBuilder();
            _errors = new ErrorList();
            _state = state;
            try
            {
                _image(this);
                result.Output = _buffer.ToString();
            }
            catch (Exception e)
            {
                result.Output = string.Empty;
                _errors.ErrorRuntimeError(e);
            }

            result.Errors.AddRange(_errors);

            return result;
        }