Example #1
0
        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();
                }
            }
        }