public void SaveTemplate(EmailTemplate template) { bool isValid = IsValid(template); if (isValid != true) { throw new Exception("Le nom du modèle n'est pas valide"); } var templateList = GetTemplateList(); EmailTemplate templateChanged = null; if (template.Id == null) { templateChanged = templateList.SingleOrDefault(i => i.ViewName.Equals(template.ViewName, StringComparison.InvariantCultureIgnoreCase)); if (templateChanged == null) { throw new Exception("Impossible de modifier le nom d'un modèle de base"); } } else { templateChanged = templateList.SingleOrDefault(i => !i.ViewName.Equals(template.ViewName, StringComparison.InvariantCultureIgnoreCase) && i.Id.Equals(template.Id, StringComparison.InvariantCultureIgnoreCase)); } string path = GetDirectoryPath(); EmailTemplateFileSerializer.Serialize(template, path, templateChanged); }
public List <EmailTemplate> GetTemplateList() { var templates = new List <EmailTemplate>(); var DirectoryPath = GetDirectoryPath(); var files = Directory.GetFiles(DirectoryPath, "*.cshtml"); foreach (string filePath in files) { var temp = EmailTemplateFileSerializer.Deserialize(filePath); templates.Add(temp); } return(templates); }