예제 #1
0
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            if (sb == null)
            {
                base.OnResultExecuted(filterContext);
                return;
            }
            if (filterContext.Exception != null)
            {
                filterContext.RequestContext.HttpContext.Response.Output = output;
                base.OnResultExecuted(filterContext);
                return;
            }
            if (filterContext.HttpContext.Items.DocTransforms().Any())
            {
                string response = sb.ToString();
                //response processing

                var doc = new CsQuery.CQ(response);
                try
                {
                    foreach (var transform in filterContext.HttpContext.Items.DocTransforms())
                    {
                        transform(doc);
                    }
                    output.Write(doc.Render());
                }
                catch (Exception ex)
                {
                    output.Write(ex.ToString());
                    throw;
                }
            }
            base.OnResultExecuted(filterContext);
        }
예제 #2
0
        public string Sort()
        {
            if (string.IsNullOrWhiteSpace(_content))
                return string.Empty;

            var dom = new CQ(_content);
            var root = dom.Select("Project");

            foreach (var element in root.Children())
            {
                if (element.RequiresSort())
                {
                    element.SortChildren();
                }

            }

            return dom.Render();
        }