public ActionResult DownloadEnroll(string faculty, string session, int semester, string course_code) { if (!HasSession()) { return(RedirectToAction("Index", "Home")); } List <EnrolledStudent> studentList = new List <EnrolledStudent>(); GetEnrollment getEnrollment = new GetEnrollment(faculty); studentList = getEnrollment.GetStudentEnrollment(course_code, semester); if (studentList != null) { //export excel ExcelPackage excel = new ExcelPackage(); var workSheet = excel.Workbook.Worksheets.Add("Sheet1"); workSheet.TabColor = System.Drawing.Color.Black; workSheet.DefaultRowHeight = 12; //Header of table // workSheet.Row(1).Height = 20; workSheet.Row(1).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; workSheet.Row(1).Style.Font.Bold = true; workSheet.Cells[1, 1].Value = "StudentId"; workSheet.Cells[1, 2].Value = "RegNo"; workSheet.Cells[1, 3].Value = "Mid"; workSheet.Cells[1, 4].Value = "Attendence"; workSheet.Cells[1, 5].Value = "Assignment"; workSheet.Cells[1, 6].Value = "Final"; int recordIndex = 2; foreach (EnrolledStudent s in studentList) { workSheet.Cells[recordIndex, 1].Value = s.StudentId; workSheet.Cells[recordIndex, 2].Value = s.RegNo; recordIndex++; } workSheet.Column(1).AutoFit(); workSheet.Column(2).AutoFit(); workSheet.Column(3).AutoFit(); workSheet.Column(4).AutoFit(); workSheet.Column(5).AutoFit(); string excelName = faculty + "_" + course_code + "_" + session; using (var memoryStream = new MemoryStream()) { Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment; filename=" + excelName + ".xlsx"); excel.SaveAs(memoryStream); memoryStream.WriteTo(Response.OutputStream); Response.Flush(); Response.End(); } } return(View()); }
public ActionResult Index(string Faculty, String Session, int?Semester, int?key) { if (!HasSession()) { return(RedirectToAction("Index", "Home")); } if (Faculty == null || Session == null || Semester == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ViewBag.faculties = db.Faculty.ToList(); ViewBag.all_session = db.AllSession.ToList(); ViewBag.Faculty = Faculty; ViewBag.Session = Session; ViewBag.Semester = Semester; List <Result> AllResults = new List <Result>(); if (Convert.ToInt32(key) == 0) { AllResults = Result.GetResults(Session, Convert.ToInt32(Semester)); } else { List <Course> Courses = new List <Course>(); List <CurrentSemester> CS = new List <CurrentSemester>(); Courses = GetEnrollment.GetEnrollCourses(Faculty, Session, Convert.ToInt32(Semester)); CS = CurrentSemester.GetCurrentSemesterStudents(Faculty, Session, Convert.ToInt32(Semester)); string msg = ""; if (Courses != null) { foreach (Course Course in Courses) { if (!CourseStatus.IsMarkSubmitted(Course, Session)) { msg += "Mark is not submitted for Course: " + Course.Course_code + "\n"; } } if (msg == "") { List <StudentInfo> Students = StudentInfo.GetStudentInfo(CS); if (Students != null) { Boolean IsCalculated = Result.CalculateResult(Students, Convert.ToInt32(Semester), Courses); if (IsCalculated) { ViewBag.Message = "Results are calculated successfully!"; AllResults = Result.GetResults(Session, Convert.ToInt32(Semester)); } else { ViewBag.Error = "Results calculation failed!"; } } } else { ViewBag.Error = msg; } } else { ViewBag.Error = "No Courses and Marks are Found!"; } } return(View(AllResults)); }