public List<ExtendedSubject> GetExtendedSubjectsAsFlatList(string cultureCode) { List<Subject> ss = GetSubjectsAsFlatList(cultureCode); List<ExtendedSubject> ess = new List<ExtendedSubject>(); ExtendedSubject es; foreach (Subject s in ss) { es = new ExtendedSubject(); es.label = s.label; es.MotherId = s.MotherId; es.SubjectId = s.SubjectId; es.SubjectOrder = s.SubjectOrder; PHText t = GetCurrentVersionText(cultureCode, s.SubjectId, ETextItemType.Subject); es.CultureCodeStatus = t.CultureCodeStatus.ToString(); t = GetCurrentVersionText("en-US", s.SubjectId, ETextItemType.Subject); es.EnglishTitle = t.Text; ess.Add(es); } return ess; }
public List<ExtendedSubject> FlatToHierarchy(IEnumerable<ExtendedSubject> list, int motherId = 0, ExtendedSubject mother = null) { return (from i in list where i.MotherId == motherId select new ExtendedSubject { SubjectId = i.SubjectId, SubjectOrder = i.SubjectOrder, MotherId = i.MotherId, label = i.label, Mother = mother, EnglishTitle = i.EnglishTitle, CultureCodeStatus = i.CultureCodeStatus, children = FlatToHierarchy(list, i.SubjectId, i) }).ToList(); }