protected void button5_Click(object sender, EventArgs e) { var ds = (SQLDataService)DataServiceProvider.DataService; var subjects = ds.Query <Предмет>(Предмет.Views.ПредметL); var subjectsSemesters = new List <subjectSemesters>(); foreach (var subject in subjects) { var count = ds.Query <ПредметВСеместре>(ПредметВСеместре.Views.ПредметВСеместреE).Where(p => p.Предмет == subject).Count(); var subjectSemesters = new subjectSemesters(subject, count); subjectsSemesters.Add(subjectSemesters); } subjectsSemesters.Sort(delegate(subjectSemesters s1, subjectSemesters s2) { return(s2.count.CompareTo(s1.count)); }); TableRow tr; TableCell tc; int i = 0; int n = int.Parse(textBox5.Text); foreach (var subjectSemesters in subjectsSemesters) { i++; if (i > n) { break; } var notebooks = ds.Query <Тетрадь>(Тетрадь.Views.ТетрадьE.Name).Where( t => t.ПредметВТетради.Cast <ПредметВТетради>().Any( p => p.Предмет == subjectSemesters.subject)).OrderBy(p => p.Название).ToList(); int count = notebooks.Count(); tr = new TableRow(); tc = new TableCell(); tc.Controls.Add(new LiteralControl(i + ".")); tc.RowSpan = count; tr.Cells.Add(tc); tc = new TableCell(); tc.Controls.Add(new LiteralControl(subjectSemesters.subject.Название)); tc.RowSpan = count; tr.Cells.Add(tc); tc = new TableCell(); tc.Controls.Add(new LiteralControl(subjectSemesters.count.ToString())); tc.RowSpan = count; tr.Cells.Add(tc); foreach (var notebook in notebooks) { tc = new TableCell(); tc.Controls.Add(new LiteralControl(notebook.Название)); tr.Cells.Add(tc); table5.Rows.Add(tr); tr = new TableRow(); } } }
protected void button5_Click(object sender, EventArgs e) { var ds = (SQLDataService)DataServiceProvider.DataService; var subjects = ds.Query<Предмет>(Предмет.Views.ПредметL); var subjectsSemesters = new List<subjectSemesters>(); foreach (var subject in subjects) { var count = ds.Query<ПредметВСеместре>(ПредметВСеместре.Views.ПредметВСеместреE).Where(p => p.Предмет == subject).Count(); var subjectSemesters = new subjectSemesters(subject, count); subjectsSemesters.Add(subjectSemesters); } subjectsSemesters.Sort(delegate(subjectSemesters s1, subjectSemesters s2) { return s2.count.CompareTo(s1.count); }); TableRow tr; TableCell tc; int i = 0; int n = int.Parse(textBox5.Text); foreach (var subjectSemesters in subjectsSemesters) { i++; if (i > n) break; var notebooks = ds.Query<Тетрадь>(Тетрадь.Views.ТетрадьE.Name).Where( t => t.ПредметВТетради.Cast<ПредметВТетради>().Any( p => p.Предмет == subjectSemesters.subject)).OrderBy(p => p.Название).ToList(); int count = notebooks.Count(); tr = new TableRow(); tc = new TableCell(); tc.Controls.Add(new LiteralControl(i + ".")); tc.RowSpan = count; tr.Cells.Add(tc); tc = new TableCell(); tc.Controls.Add(new LiteralControl(subjectSemesters.subject.Название)); tc.RowSpan = count; tr.Cells.Add(tc); tc = new TableCell(); tc.Controls.Add(new LiteralControl(subjectSemesters.count.ToString())); tc.RowSpan = count; tr.Cells.Add(tc); foreach (var notebook in notebooks) { tc = new TableCell(); tc.Controls.Add(new LiteralControl(notebook.Название)); tr.Cells.Add(tc); table5.Rows.Add(tr); tr = new TableRow(); } } }