private void SetUserPreferences() { UserPreferences = new DocumentRenderParameters(); var cookie = Request.Cookies["AbpDocsPreferences"]; if (cookie != null) { var keyValues = cookie.Split("|"); foreach (var keyValue in keyValues) { if (keyValue.Split("=").Length < 2) { continue; } var key = keyValue.Split("=")[0]; var value = keyValue.Split("=")[1]; UserPreferences.Add(key, value); UserPreferences.Add(key + "_Value", DocumentPreferences?.Parameters?.FirstOrDefault(p => p.Name == key) ?.Values.FirstOrDefault(v => v.Key == value).Value); } } var query = Request.Query; foreach (var(key, value) in query) { if (UserPreferences.ContainsKey(key)) { UserPreferences.Remove(key); UserPreferences.Remove(key + "_Value"); } UserPreferences.Add(key, value); UserPreferences.Add(key + "_Value", DocumentPreferences?.Parameters?.FirstOrDefault(p => p.Name == key)?.Values .FirstOrDefault(v => v.Key == value).Value); } if (DocumentPreferences?.Parameters == null) { return; } foreach (var parameter in DocumentPreferences.Parameters) { if (!UserPreferences.ContainsKey(parameter.Name)) { UserPreferences.Add(parameter.Name, parameter.Values.FirstOrDefault().Key); UserPreferences.Add(parameter.Name + "_Value", parameter.Values.FirstOrDefault().Value); } } }
public async Task <string> RenderAsync(string document, DocumentRenderParameters parameters = null) { Template scribanTemplate = Template.Parse(document); if (parameters == null) { return(await scribanTemplate.RenderAsync()); } var result = await scribanTemplate.RenderAsync(parameters); return(RemoveOptionsJson(result)); }
public async Task <string> RenderAsync(string document, DocumentRenderParameters parameters = null, List <DocumentPartialTemplateContent> partialTemplates = null) { if (partialTemplates != null && partialTemplates.Any()) { document = SetPartialTemplates(document, partialTemplates); } var scribanTemplate = Template.Parse(document); if (parameters == null) { return(await scribanTemplate.RenderAsync()); } var result = await scribanTemplate.RenderAsync(parameters); return(RemoveOptionsJson(result)); }