public IFileInfo GetFileInfo(string subpath) { if (_lookup.ContainsKey(subpath)) { return(_lookup[subpath]); } else { var viewName = Path.GetFileName(subpath); var lookupPath = string.Format(_resourceTemplatePath, viewName); var mailTemplateFileInfo = new MailTemplateFileInfo(); mailTemplateFileInfo.Name = viewName; using (Stream stream = _currentAssembly.GetManifestResourceStream(lookupPath)) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } using (StreamReader sr = new StreamReader(stream, Encoding.UTF8)) { mailTemplateFileInfo.Content = sr.ReadToEnd(); } } AddFile(subpath, mailTemplateFileInfo); return(mailTemplateFileInfo); } }
public MailTemplateFileInfo AddFile(string path, string contents) { var fileInfo = new MailTemplateFileInfo { Content = contents, Name = Path.GetFileName(path), LastModified = DateTime.UtcNow, }; AddFile(path, fileInfo); return(fileInfo); }