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)); } }
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}")); }