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