Example #1
0
        public static string ProcessSekce(BookSekce b, int iterace)
        {
            IList <BookSekce> list = new BookSekceDao().GetCategoriesDebug(b.Id);

            iterace++;

            foreach (BookSekce z in list)
            {
                ProcessSekce(z, iterace);
            }

            string toReturn = "";

            for (var i = 0; i < iterace; i++)
            {
                toReturn += "‌‌ ‌‌ ‌‌ ‌‌ ‌‌ ";
            }

            string tR = "";

            if (b.RenderPriority > 0)
            {
                tR = "[priority: " + b.RenderPriority.ToString() + "]";
            }

            textOutput.Add("<li>" + "<ul>" + toReturn + " > " + b.DebugName + " [id: " + b.Id.ToString() + "] " + tR + "</ul>" + "</li>");

            return("");
        }
Example #2
0
        public static string GetBookPath(int id)
        {
            // 1) Reverzně určíme cestu
            // --> Vezmeme aktuální kategorii příspěvku
            // --> Najdeme kategorii, která má jako potomka tuto kategorii
            // --> Opakujeme dokud p != -1
            // --> Na každé iteraci stavíme aktuální část cesty

            string outputString = "";

            BookDao      d        = new BookDao();
            BookSekceDao sekceDao = new BookSekceDao();

            Book prispevek    = d.GetbyId(id);
            bool dalsiIterace = true;

            BookSekce aktualniSekce = sekceDao.GetbyIdNull(prispevek.SectionId);

            outputString += aktualniSekce.DebugName + "/ ";

            while (dalsiIterace)
            {
                // Najdeme potomka sekce
                aktualniSekce = sekceDao.GetParentSekce(aktualniSekce.Id);
                outputString += aktualniSekce.DebugName + "/";
                if (aktualniSekce.ParentId <= 0)
                {
                    dalsiIterace = false;
                }
            }

            // 2) Teď máme cestu, ale reverzně
            // --> Konec cesty / Střed cesty / Začátek
            // --> Potřebujeme: Začátek / Střed / Konec
            // --> Rozdělíme string na tokeny
            // --> Reverzně dáme tokeny do správného pořadí

            string[] tokeny = outputString.Split('/');
            outputString = "";

            for (var i = tokeny.Length - 1; i >= 0; i--)
            {
                outputString += tokeny[i];

                // Vizuálně oddělujeme části cesty
                if (i > 0 && i != tokeny.Length - 1)
                {
                    outputString += " / ";
                }
            }

            return(outputString);
        }