Exemplo n.º 1
0
        public override void ExecuteResult(ControllerContext context)
        {
            XmlDocument document = new XmlDocument();

            document.LoadXml(Xml);
            XmlDeclaration decl = document.FirstChild as XmlDeclaration;

            if (decl != null)
            {
                decl.Encoding = "utf-8";
            }
            context.HttpContext.Response.Charset     = "utf-8";
            context.HttpContext.Response.ContentType = "text/xml";
            context.HttpContext.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", FileDownloadName));
            context.HttpContext.Response.BinaryWrite(Encoding.UTF8.GetBytes(Prettifier.PrettifyXML(document.InnerXml)));
            context.HttpContext.Response.End();
        }
        public XmlDocument Save(MessageTemplate template, Language language)
        {
            Guard.NotNull(template, nameof(template));
            Guard.NotNull(language, nameof(language));

            var doc = new XmlDocument();

            doc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\"?><MessageTemplate></MessageTemplate>");

            var docRoot = doc.DocumentElement;

            docRoot.AppendChild(doc.CreateElement("To")).InnerText = template.To;
            if (template.ReplyTo.HasValue())
            {
                docRoot.AppendChild(doc.CreateElement("ReplyTo")).InnerText = template.ReplyTo;
            }
            docRoot.AppendChild(doc.CreateElement("Subject")).InnerText    = template.Subject;
            docRoot.AppendChild(doc.CreateElement("ModelTypes")).InnerText = template.ModelTypes;
            docRoot.AppendChild(doc.CreateElement("Body")).AppendChild(doc.CreateCDataSection(template.Body));

            var root = _appContext.ContentRoot;
            var dir  = root.GetDirectory(root.PathCombine("/App_Data/EmailTemplates", language.GetTwoLetterISOLanguageName()));

            if (!dir.Exists)
            {
                root.TryCreateDirectory(dir.SubPath);
            }

            // File path
            var filePath = root.PathCombine(dir.SubPath, template.Name + ".xml");

            var xml = Prettifier.PrettifyXML(doc.OuterXml);

            root.WriteAllText(filePath, xml);

            return(doc);
        }
Exemplo n.º 3
0
        public XmlDocument Save(MessageTemplate template, Language language)
        {
            Guard.NotNull(template, nameof(template));
            Guard.NotNull(language, nameof(language));

            var doc = new XmlDocument();

            doc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\"?><MessageTemplate></MessageTemplate>");

            var root = doc.DocumentElement;

            root.AppendChild(doc.CreateElement("To")).InnerText = template.To;
            if (template.ReplyTo.HasValue())
            {
                root.AppendChild(doc.CreateElement("ReplyTo")).InnerText = template.ReplyTo;
            }
            root.AppendChild(doc.CreateElement("Subject")).InnerText    = template.Subject;
            root.AppendChild(doc.CreateElement("ModelTypes")).InnerText = template.ModelTypes;
            root.AppendChild(doc.CreateElement("Body")).AppendChild(doc.CreateCDataSection(template.Body));

            var path = Path.Combine(CommonHelper.MapPath("~/App_Data/EmailTemplates"), language.GetTwoLetterISOLanguageName());

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            // File path
            path = Path.Combine(path, template.Name + ".xml");

            var xml = Prettifier.PrettifyXML(doc.OuterXml);

            File.WriteAllText(path, xml);

            return(doc);
        }