nature_net.user_controls.list_populator.add_comment_items_for C# (CSharp) Метод

add_comment_items_for() приватный Метод

private add_comment_items_for ( Feedback c, int &level, List current_items, naturenet_dataclassDataContext db ) : void
c Feedback
level int
current_items List
db naturenet_dataclassDataContext
Результат void
        private void add_comment_items_for(Feedback c, ref int level, List<comment_item_generic> current_items, naturenet_dataclassDataContext db)
        {
            var r = from c2 in db.Feedbacks
                    where (c2.Feedback_Type.name == "Comment") && (c2.parent_id == c.id)
                    orderby c2.date descending
                    select c2;
            if (r != null)
            {
                List<Feedback> comments = r.ToList<Feedback>();
                level++;
                List<List<comment_item_generic>> children_items = new List<List<comment_item_generic>>();
                foreach (Feedback f in comments)
                {
                    List<comment_item_generic> tmp_list = new List<comment_item_generic>();
                    int new_level = level;
                    tmp_list.Add(create_comment_item(f, new_level));
                    add_comment_items_for(f, ref new_level, tmp_list, db);
                    add_children_to_list(tmp_list, children_items);
                }
                condense_lists(children_items, current_items);
            }
        }