Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void RecursiveGetChildren(Node Parent)
- {
- if (Parent.ParentId == null) return;
- int MarginLeft = 5;
- var Children = Celpocket.Fanclub.RecuitSystem.RecruitSystemDao.GetChildren(Parent.UserId, Parent.FanclubId);
- foreach (Node Child in Children)
- {
- Literal lit = new Literal();
- MarginLeft += 20;
- var ChildsChildren = Celpocket.Fanclub.RecuitSystem.RecruitSystemDao.GetChildren(Child.UserId, Parent.FanclubId);
- bool HasChildren = ChildsChildren.Count > 0;
- Literal litUl = new Literal();
- litUl.Text = "<ul class='ulRecruit'>";
- phRecruits.Controls.Add(litUl);
- if (HasChildren)
- {
- 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);
- phRecruits.Controls.Add(lit);
- RecursiveGetChildren(Child);
- }
- else
- {
- lit.Text = string.Format("<li class='recruitChildRow'>{0} har inga barn</li>", ConvertParentToUser(Child));
- phRecruits.Controls.Add(lit);
- }
- Literal endUl = new Literal();
- endUl.Text = "</ul>";
- phRecruits.Controls.Add(endUl);
- }
- }
- private static string ExtractChildren(List<Node> Children)
- {
- string children = string.Empty;
- Celpocket.Profile user = null;
- foreach (Node child in Children)
- {
- user = Celpocket.Profile.GetProfile(child.UserId);
- children += String.Format("<a href='/Profile.aspx?Id={0}'>{1}</a>, ", user.UserID, user.Username);
- }
- return children.Substring(0, children.Length - 2);
- }
- private static string ConvertParentToUser(Node Parent)
- {
- var user = Celpocket.Profile.GetProfile(Parent.UserId);
- return String.Format("<a href='/Profile.aspx?Id={0}'><strong>{1}</strong></a>", user.UserID, user.Username);
- }
- protected void Page_Load(object sender, EventArgs e)
- {
- int id2;
- Int32.TryParse(Request.QueryString["Id"], out id2);
- List<Node> Tree = Celpocket.Fanclub.RecuitSystem.GetTree(id2);
- if (Tree.Count == 0)
- {
- Literal lit = new Literal();
- 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>");
- phRecruits.Controls.Add(lit);
- }
- else
- {
- Int32 MarginLeft = 5;
- foreach (Node Parent in Tree)
- {
- Literal litUl = new Literal();
- litUl.Text = "<ul class='ulRecruit'>";
- phRecruits.Controls.Add(litUl);
- var Children = Celpocket.Fanclub.RecuitSystem.RecruitSystemDao.GetChildren(Parent.UserId, Parent.FanclubId);
- bool HasChildren = Children.Count > 0;
- Literal lit = new Literal();
- MarginLeft += 20;
- if (HasChildren)
- {
- 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);
- phRecruits.Controls.Add(lit);
- RecursiveGetChildren(Parent);
- }
- else
- {
- lit.Text = string.Format("<li class='recruitChildRow'>{0} har inte rekryterat nån kompis ännu.</li>", ConvertParentToUser(Parent));
- phRecruits.Controls.Add(lit);
- }
- Literal endUl = new Literal();
- endUl.Text = "</ul>";
- phRecruits.Controls.Add(endUl);
- }
- }
- }
Add Comment
Please, Sign In to add comment