public ActionResult StudentsGrades(int id) { GradeStudentsGradesVM model = new GradeStudentsGradesVM(); GradeRepository gradeRepo = new GradeRepository(); SubjectRepository subjRepo = new SubjectRepository(); UserRepository<Student> studentRepo = new UserRepository<Student>(); model.Students = studentRepo.GetAll(filter: s => s.Course.CourseSubject.Any(t => t.SubjectID == id)); Subject subject = subjRepo.GetByID(id); model.SubjectID = subject.ID; return View(model); }
public void ExportSubjectListToCSV(int id) { GradeStudentsGradesVM model = new GradeStudentsGradesVM(); GradeRepository gradeRepo = new GradeRepository(); SubjectRepository subjRepo = new SubjectRepository(); UserRepository<Student> studentRepo = new UserRepository<Student>(); List<Student> students = studentRepo.GetAll(filter: s => s.Course.CourseSubject.Any(t => t.SubjectID == id)); List<Grade> grades = gradeRepo.GetAll(filter: s => s.SubjectID == id); Subject subject = subjRepo.GetByID(id); StringWriter sw = new StringWriter(); sw.WriteLine("\"Faculty number\",\"First name\",\"Last name\",\"Grade\""); Response.ClearContent(); Response.AddHeader("content-disposition", "attachment;filename="+ subject.Name +".csv"); Response.ContentType = "text/csv"; foreach (var student in students) { string grade = student.Grades.Select(x => x.GradeValue).FirstOrDefault().ToString(); grade = grade == "0" ? "" : grade; sw.WriteLine(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\"", student.FacultiNumber, student.FirstName, student.LastName, grade)); } Response.Write(sw.ToString()); Response.End(); }
public void ExportSubjectListToExcel(int id) { GradeStudentsGradesVM model = new GradeStudentsGradesVM(); GradeRepository gradeRepo = new GradeRepository(); SubjectRepository subjRepo = new SubjectRepository(); UserRepository<Student> studentRepo = new UserRepository<Student>(); List<Student> students = studentRepo.GetAll(filter: s => s.Course.CourseSubject.Any(t => t.SubjectID == id)); List<Grade> grades = gradeRepo.GetAll(filter: s => s.SubjectID == id); Subject subject = subjRepo.GetByID(id); var grid = new System.Web.UI.WebControls.GridView(); var products = new System.Data.DataTable(subject.Name); products.Columns.Add("FacultiNumber", typeof(string)); products.Columns.Add("FirstName", typeof(string)); products.Columns.Add("LastName", typeof(string)); products.Columns.Add("Grade", typeof(string)); foreach (var student in students) { string grade = student.Grades.Select(x => x.GradeValue).FirstOrDefault().ToString(); grade = grade == "0" ? "" : grade; products.Rows.Add(student.FacultiNumber, student.FirstName, student.LastName, grade); } grid.DataSource = products; // grid.DataSource = model.Students; grid.DataBind(); Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=" + subject.Name + ".xlsx"); Response.ContentType = "application/excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); grid.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); }