Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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));
        }