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));
        }