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