Example #1
0
        public override IHTMLOrderedList VisualizedWorkItems(FileInfo[] a)
        {
            var o = new IHTMLOrderedList();

            foreach (var f in a)
            {
                var k = new BasicPirateBaySearch.SearchEntry().FromFile(f);

                var WorkItem = new IHTMLAnchor
                {
                    URL       = f.FullName.ToRelativePath(),
                    innerHTML = k.Name
                }.ToString() + " - <b>" + k.SmartName.ToString() + "</b>";

                o.innerHTML += (IHTMLListItem)WorkItem;
            }

            return(o);
        }
        private void ShowTasks()
        {
            //Console.WriteLine("<meta http-equiv='refresh' content='60' />");

            var OrderedList = new IHTMLOrderedList();

            IHTMLListHeader Header = "Tasks";

            OrderedList.innerHTML += Header;

            foreach (var Task in this)
            {
                var ListItem = new IHTMLListItem();

                var Details = new IHTMLUnorderedList();

                //Details.Content += (IHTMLListHeader)"Details";
                Details.innerHTML += (IHTMLListItem)(
                    "" + new IHTMLAcronym
                {
                    Title = Task.CounterPath,
                    innerHTML = "Counter is " + Task.Counter
                }.ToString() +
                    " and " + new IHTMLAcronym
                {
                    Title = "memory allows to filter out already happened events",
                    innerHTML = "memory is " + Task.Memory.Count
                }.ToString() +
                    " within context of " + new IHTMLAcronym
                {
                    Title = Task.Context.FullName,
                    innerHTML = Task.Context.Name
                }.ToString()
                    );


                var DepensdsOnText = new IHTMLAcronym {
                    Title = "This task will not execute until dependencies are cleared from work", innerHTML = "Depends on"
                }.ToString();

                foreach (var DependsOn in Task.ActiveDependencies)
                {
                    if (DependsOn.IsActive)
                    {
                        Details.innerHTML += (IHTMLListItem)(DepensdsOnText + " (active) " + DependsOn.Task.Name.ToLink(k => "?" + k));
                    }
                    else
                    {
                        Details.innerHTML += (IHTMLListItem)(DepensdsOnText + " " + DependsOn.Task.Name.ToLink(k => "?" + k));
                    }
                }

                var InputPoolText = new IHTMLAcronym {
                    Title = "Pools are grouped by the intervals they represent. Smaller intervals will be executed before larger intervals", innerHTML = "Input Pool"
                }.ToString();

                foreach (var InputPool in Task.ActiveInputPools)
                {
                    var InputPoolHeader = (InputPoolText + " " + (IHTMLStrong)("" + InputPool.Interval) +
                                           " estimated time " + InputPool.Total + " for " + InputPool.Files.Length + " items");

                    var Files = Task.VisualizedWorkItems(InputPool.Files);


                    if (InputPool.ShouldPreferOthers)
                    {
                        Details.innerHTML += (IHTMLListItem)("<span style='color: gray;'>(blocked) " + InputPoolHeader + Files + "</span>");
                    }
                    else
                    {
                        Details.innerHTML += (IHTMLListItem)(InputPoolHeader + Files);
                    }
                }



                if (Task.HasActiveDependencies)
                {
                    ListItem.innerHTML += "(blocked) ";
                }

                ListItem.innerHTML += Task.Name.ToLink(k => "?" + k);



                if (!string.IsNullOrEmpty(Task.Description))
                {
                    ListItem.innerHTML += "<pre>" + Task.Description.Trim() + "</pre>";
                }


                ListItem.innerHTML += "<textarea style='width: 100%; height: 20%;'>" + Task.Log.Trim() + "</textarea>";


                ListItem.innerHTML += Details;

                if (Task.HasActiveDependencies)
                {
                    OrderedList.innerHTML += "<span style='color: gray;'>" + ListItem + "</span>";
                }
                else
                {
                    OrderedList.innerHTML += ListItem;
                }
            }

            Console.WriteLine(OrderedList);
        }