public async Task <IActionResult> descSorted(int id, int type)
        {
            dynamic result = new ExpandoObject();

            Group group = await _main.GetById <Group>(id);

            ReportToWorkSheet data = await _report.ReportToWorkSheet(id, group.Course, lib.Methods.GetSemestry(), type);


            List <int>         idList       = new List <int>();
            List <MonthReport> monthReports = data.data.Select(e => e.Last()).ToList();

            for (int i = 0; i < data.names.Count(); i++)
            {
                Student student = await _main.First <Student>(e => e.FullName == data.names[i]);

                idList.Add(student.Id);
            }
            result.desc = await _group.GetGroupDesc(id);

            result.Skips  = monthReports;
            result.IdList = idList;
            result.Names  = data.names;
            result.BB     = data.bblist;
            result.type   = type;
            return(View(result));
        }
        public async Task <IActionResult> showSS(int Id = 2, int EduYear = 0, int semester = 0)
        {
            try
            {
                dynamic result = new ExpandoObject();

                Group group = await _main.GetById <Group>(Id);

                semester = semester == 0 ? lib.Methods.GetSemestry() : semester;
                EduYear  = EduYear == 0 ? group.Course : EduYear;

                ReportToWorkSheet data = await _report.ReportToWorkSheet(Id, EduYear, semester, 0);


                List <int>         idList       = new List <int>();
                List <MonthReport> monthReports = data.data.Select(e => e.Last()).ToList();
                for (int i = 0; i < data.names.Count(); i++)
                {
                    Student student = await _main.First <Student>(e => e.FullName == data.names[i]);

                    idList.Add(student.Id);
                }
                result.Skips     = monthReports;
                result.IdList    = idList;
                result.Names     = data.names;
                result.GroupName = group.Name;

                return(View(result));
            }
            catch (Exception)
            {
                return(LocalRedirect("/Group/emptyGroup/" + Id));
            }
        }
Exemple #3
0
        public async Task <FileContentResult> BuildFile(ControllerBase obj, int groupId, int eduYear, int semester, int fromCount)
        {
            ReportToWorkSheet result = await this.ReportToWorkSheet(groupId, eduYear, semester, fromCount);

            Group group = await _main.GetById <Group>(groupId);

            return(obj.Excel(e =>
            {
                int step = result.headersList.Count();
                var first = e.addWorkSheet($"{group.Name}_{group.EduFrom}")
                            .AddMergedHeaders(result.month, step: step, colomn: 2)
                            .AddLoop(result.names, row: 3)
                            .AddHeaders(result.headersList, row: 2, colomn: 2);
                int startColomn = 2;
                int row = 3;

                for (int i = 0; i < result.month.Count(); i++)
                {
                    first.AddHeaders(result.headersList, row: 2, colomn: startColomn);
                    startColomn += step;
                }

                for (int i = 0; i < result.data.Count; i++)
                {
                    first.AddLoopVertical(result.data[i], 2, row);
                    row++;
                }
                first[1, 1, 2, 1].Merge = true;
                first[1, 1, 2, 1].Value = "Ф. И. О.";
                first[1, 1, 2, 1].Style.Font.Bold = true;
                first[1, 1, 2, 1].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
                if (semester == 1)
                {
                    first[1, 17, 2, 17].Merge = true;
                    first[1, 17, 2, 17].Value = "Болельщик";
                    first[1, 17, 2, 17].Style.Font.Bold = true;
                    first[1, 17, 2, 17].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
                    first[1, 17, 2, 17].AutoFitColumns();
                    first.AddLoop(result.bblist, row: 3, colomn: 17);
                }
                else
                {
                    first[1, 20, 2, 20].Merge = true;
                    first[1, 20, 2, 20].Value = "Болельщик";
                    first[1, 20, 2, 20].Style.Font.Bold = true;
                    first[1, 20, 2, 20].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
                    first[1, 20, 2, 20].AutoFitColumns();
                    first.AddLoop(result.bblist, row: 3, colomn: 20);
                }
            }, $"{group.Name}_{group.EduFrom}_Course={eduYear}_semester={semester}"));
        }