예제 #1
0
        public async Task <TemplateTagsModel> Validate(TemplateValidateModel model)
        {
            var invalidTags = new List <string>();
            var validTags   = new List <string>();

            await using (var stream = new MemoryStream(model.File))
            {
                var wordDocument = new WordDocument(stream, FormatType.Docx);
                var tags         = wordDocument.FindAll(new Regex("\\$\\{.+?\\}"));
                foreach (var tag in tags)
                {
                    if (model.Schema.Contains(tag.SelectedText))
                    {
                        validTags.Add(tag.SelectedText);
                    }
                    else
                    {
                        invalidTags.Add(tag.SelectedText);
                    }
                }
            }
            return(new TemplateTagsModel
            {
                InvalidTags = invalidTags,
                ValidTags = validTags
            });
        }
예제 #2
0
        public async Task <ActionResult <IEnumerable <string> > > ValidateTemplate(TemplateValidateModel model)
        {
            var result = await _docPdfConverter.Validate(model);

            return(Ok(result));
        }