Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }