public async Task<Dictionary<string, string>> GetTemplateContentAsync(string templateId)
{
var templatePath = Path.Combine(_settings.TemplatesPath, templateId);
if (!Directory.Exists(templatePath)) return null;
var content = await Directory
.GetFiles(templatePath)
.Where(p => !p.EndsWith(Constants.MetadataJson))
.Select(async p => new { FileName = Path.GetFileName(p), Content = await FileSystemHelpers.ReadAllTextFromFileAsync(p) })
.WhenAll();
return content.ToDictionary(k => k.FileName, v => v.Content);
}