Ejemplo n.º 1
0
 public void AddContent(IRenderTask task)
 {
     if (this.ContentTask == null)
     {
         this.ContentTask = new List <IRenderTask>();
     }
     this.ContentTask.Add(task);
 }
Ejemplo n.º 2
0
        public static string Set(Guid SiteId, IRenderTask task)
        {
            string unique = task.GetType().Name.ToString() + task.GetHashCode().ToString();
            var    guid   = Lib.Security.Hash.ComputeHashGuid(unique);

            var sitecache = GetSiteCaches(SiteId);

            if (!sitecache.ContainsKey(guid))
            {
                sitecache[guid] = task;
            }
            return(StartMark + guid.ToString() + EndMark);
        }
Ejemplo n.º 3
0
        public static string Render(this List <IRenderTask> task, RenderContext context)
        {
            StringBuilder sb = new StringBuilder();

            IRenderTask headertask = null;
            int         headerpos  = 0;

            foreach (var item in task)
            {
                if (item.ClearBefore)
                {
                    if (headertask != null)
                    {
                        var header = headertask.Render(context);
                        sb.Insert(headerpos, header);
                        headertask = null;
                        headerpos  = 0;
                    }

                    string currentvalue = sb.ToString();

                    sb.Clear();
                    context.AddPlaceHolderContent("", currentvalue);
                }

                if (item is HeaderRenderTask)
                {
                    headertask = item;
                    headerpos  = sb.Length;
                }
                else
                {
                    sb.Append(item.Render(context));
                }
            }

            if (headertask != null)
            {
                var header = headertask.Render(context);
                sb.Insert(headerpos, header);
            }

            return(sb.ToString());
        }