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 }); }
public async Task <ActionResult <IEnumerable <string> > > ValidateTemplate(TemplateValidateModel model) { var result = await _docPdfConverter.Validate(model); return(Ok(result)); }