Guest User

Untitled

a guest
Jul 19th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. private void RecursiveGetChildren(Node Parent)
  2. {
  3. if (Parent.ParentId == null) return;
  4. int MarginLeft = 5;
  5.  
  6. var Children = Celpocket.Fanclub.RecuitSystem.RecruitSystemDao.GetChildren(Parent.UserId, Parent.FanclubId);
  7.  
  8. foreach (Node Child in Children)
  9. {
  10. Literal lit = new Literal();
  11. MarginLeft += 20;
  12.  
  13. var ChildsChildren = Celpocket.Fanclub.RecuitSystem.RecruitSystemDao.GetChildren(Child.UserId, Parent.FanclubId);
  14.  
  15. bool HasChildren = ChildsChildren.Count > 0;
  16.  
  17. Literal litUl = new Literal();
  18. litUl.Text = "<ul class='ulRecruit'>";
  19. phRecruits.Controls.Add(litUl);
  20.  
  21. if (HasChildren)
  22. {
  23. lit.Text = string.Format("<li class='recruitRowParent'>{0} har fått <strong>{5}</strong> poäng för att ha rekryterat {2} kompisar, dessa är: {3}</li>", ConvertParentToUser(Child), MarginLeft, ChildsChildren.Count, ExtractChildren(ChildsChildren), Child.ParentId, Child.Points);
  24. phRecruits.Controls.Add(lit);
  25.  
  26. RecursiveGetChildren(Child);
  27. }
  28. else
  29. {
  30. lit.Text = string.Format("<li class='recruitChildRow'>{0} har inga barn</li>", ConvertParentToUser(Child));
  31. phRecruits.Controls.Add(lit);
  32. }
  33.  
  34. Literal endUl = new Literal();
  35. endUl.Text = "</ul>";
  36. phRecruits.Controls.Add(endUl);
  37. }
  38. }
  39.  
  40. private static string ExtractChildren(List<Node> Children)
  41. {
  42. string children = string.Empty;
  43. Celpocket.Profile user = null;
  44. foreach (Node child in Children)
  45. {
  46. user = Celpocket.Profile.GetProfile(child.UserId);
  47.  
  48. children += String.Format("<a href='/Profile.aspx?Id={0}'>{1}</a>, ", user.UserID, user.Username);
  49.  
  50. }
  51.  
  52. return children.Substring(0, children.Length - 2);
  53. }
  54.  
  55. private static string ConvertParentToUser(Node Parent)
  56. {
  57. var user = Celpocket.Profile.GetProfile(Parent.UserId);
  58.  
  59. return String.Format("<a href='/Profile.aspx?Id={0}'><strong>{1}</strong></a>", user.UserID, user.Username);
  60. }
  61.  
  62. protected void Page_Load(object sender, EventArgs e)
  63. {
  64. int id2;
  65. Int32.TryParse(Request.QueryString["Id"], out id2);
  66.  
  67. List<Node> Tree = Celpocket.Fanclub.RecuitSystem.GetTree(id2);
  68.  
  69. if (Tree.Count == 0)
  70. {
  71. Literal lit = new Literal();
  72. lit.Text = string.Format("<div class='recruitRow'>Det finns ingen medlem i fanklubben ännu, varför inte starta fanklubben och rekrytera några kompisar?</div>");
  73. phRecruits.Controls.Add(lit);
  74. }
  75.  
  76. else
  77. {
  78. Int32 MarginLeft = 5;
  79. foreach (Node Parent in Tree)
  80. {
  81. Literal litUl = new Literal();
  82. litUl.Text = "<ul class='ulRecruit'>";
  83. phRecruits.Controls.Add(litUl);
  84.  
  85.  
  86. var Children = Celpocket.Fanclub.RecuitSystem.RecruitSystemDao.GetChildren(Parent.UserId, Parent.FanclubId);
  87.  
  88. bool HasChildren = Children.Count > 0;
  89.  
  90. Literal lit = new Literal();
  91. MarginLeft += 20;
  92. if (HasChildren)
  93. {
  94. lit.Text = string.Format("<li class='recruitRowParent'>{0} har fått <strong>{3}</strong> poäng för att ha rekryterat {1} kompisar, dessa är: {2}</li>", ConvertParentToUser(Parent), Children.Count, ExtractChildren(Children), Parent.Points);
  95. phRecruits.Controls.Add(lit);
  96. RecursiveGetChildren(Parent);
  97. }
  98. else
  99. {
  100. lit.Text = string.Format("<li class='recruitChildRow'>{0} har inte rekryterat nån kompis ännu.</li>", ConvertParentToUser(Parent));
  101. phRecruits.Controls.Add(lit);
  102. }
  103.  
  104. Literal endUl = new Literal();
  105. endUl.Text = "</ul>";
  106. phRecruits.Controls.Add(endUl);
  107. }
  108. }
  109. }
Add Comment
Please, Sign In to add comment