public DataTable StudentsGradesToExcel(Student student) { List<Grade> gradeList = new List<Grade>(); GradeRepository gradeRepository = new GradeRepository(); gradeList = gradeRepository.GetAll(filter: g => g.Student.Id == student.Id); var gradeTable = new DataTable("StudentsGrades"); gradeTable.Columns.Add("SubjectName", typeof(string)); gradeTable.Columns.Add("GradeValue", typeof(string)); Dictionary<string, string> details = new Dictionary<string, string>(); List<string> subjectNameList = new List<string>(); List<string> gradeValues = new List<string>(); foreach (var item in gradeList) { subjectNameList.Add(item.Subject.Name); } subjectNameList = subjectNameList.Distinct().ToList(); foreach (var item in subjectNameList) { StringBuilder sb = new StringBuilder(); List<Grade> grades = new List<Grade>(); grades = gradeRepository.GetAll(filter: s => s.Subject.Name == item && s.Student.Id == student.Id); foreach (var grade in grades) { sb.Append(grade.GradeValue); sb.Append(","); } sb.Length -= 1; details.Add(item, sb.ToString()); } foreach (var item in details) { gradeTable.Rows.Add(item.Key, item.Value); } return gradeTable; }
public ActionResult ShowGrades(int id, int courseSubjectID) { AdminControllerCourseSubjectVM courseSubjectModel = new AdminControllerCourseSubjectVM(); GradeRepository gradeRepository = new GradeRepository(); List <Grade> studentGrades = gradeRepository.GetAll(filter: s => s.Student.Id == id); Dictionary <string, List <Grade> > details = new Dictionary <string, List <Grade> >(); List <string> subjectNameList = new List <string>(); foreach (var item in studentGrades) { subjectNameList.Add(item.Subject.Name); } subjectNameList = subjectNameList.Distinct().ToList(); foreach (var item in subjectNameList) { List <Grade> grades = new List <Grade>(); grades = gradeRepository.GetAll(filter: s => s.Subject.Name == item && s.Student.Id == id); details.Add(item, grades); } courseSubjectModel.details = details; courseSubjectModel.StudentID = id; Student student = new Student(); StudentRepository studentRepository = new StudentRepository(); student = studentRepository.GetById(id); courseSubjectModel.StudentName = student.FirstName + " " + student.LastName; courseSubjectModel.CourseSubjectID = courseSubjectID; return(View(courseSubjectModel)); }
public ActionResult StudentDetails(int StudentID) { if (!AuthenticationManager.LoggedUser.GetType().BaseType.Equals(typeof(Teacher))) { return(RedirectToAction("Default", "Login")); } List <Grade> studentGrades = new List <Grade>(); GradeRepository gradeRepository = new GradeRepository(); Student student = new Student(); StudentRepository studentRepository = new StudentRepository(); student = studentRepository.GetById(StudentID); TeacherControllerStudentsVM model = new TeacherControllerStudentsVM(); studentGrades = gradeRepository.GetAll(filter: g => g.Student.Id == StudentID); model.FirstName = student.FirstName; model.LastName = student.LastName; model.FaculityNumber = student.FacultyNumber; model.Course = student.Course.Name; model.StudentID = student.Id; model.CourseID = student.Course.Id; Dictionary <string, List <Grade> > details = new Dictionary <string, List <Grade> >(); List <string> subjectNameList = new List <string>(); foreach (var item in studentGrades) { subjectNameList.Add(item.Subject.Name); } subjectNameList = subjectNameList.Distinct().ToList(); foreach (var item in subjectNameList) { List <Grade> grades = new List <Grade>(); grades = gradeRepository.GetAll(filter: s => s.Subject.Name == item && s.Student.Id == StudentID); details.Add(item, grades); } model.SubjectGradeList = details; List <Subject> subjects = new List <Subject>(); CourseSubjectRepository courseSubjectRepo = new CourseSubjectRepository(); List <CourseSubject> courseSubjectList = new List <CourseSubject>(); courseSubjectList = courseSubjectRepo.GetAll(filter: c => c.CourseID == student.CourseID); foreach (var item in courseSubjectList) { subjects.Add(item.Subject); } model.SubjectList = subjects; return(View(model)); }
public ActionResult AddGrade(GradeAddGradeVM model) { if (model.GradeValue < 2 || model.GradeValue > 6) { ModelState.AddModelError("Error", "Grade must be 2 - 6"); return View(model); } GradeRepository gRepo = new GradeRepository(); Grade grade = new Grade(); var test = gRepo.GetAll(filter: g => g.StudentID == model.StudentID && g.SubjectID == model.SubjectID).FirstOrDefault(); if (test != null) { ModelState.AddModelError("Error", "Student already have grade"); return View(model); } grade.StudentID = model.StudentID; grade.SubjectID = model.SubjectID; grade.GradeValue = model.GradeValue; gRepo.Save(grade); return RedirectToAction("StudentsGrades" + "/" + model.SubjectID, "Grade"); }
public ActionResult ShowDetails(int id) { StudentControllerStudentVM model = new StudentControllerStudentVM(); List<Grade> gradeList = new List<Grade>(); GradeRepository gradeRepository = new GradeRepository(); gradeList = gradeRepository.GetAll(filter: s => s.Student.Id == id); Dictionary<string, List<string>> details = new Dictionary<string, List<string>>(); var subjectList = new List<string>(); foreach (var item in gradeList) { subjectList.Add(item.Subject.Name); } subjectList = subjectList.Distinct().ToList(); foreach (var item in subjectList) { var gradeValueList = new List<string>(); List<Grade> grades = new List<Grade>(); grades = gradeRepository.GetAll(filter: s => s.Subject.Name == item && s.Student.Id == id); foreach (var grade in grades) { gradeValueList.Add(grade.GradeValue.ToString()); } details.Add(item, gradeValueList); } model.SubjectGradeList = details; Student student = new Student(); StudentRepository studentRepository = new StudentRepository(); student = studentRepository.GetById(id); model.FirstName = student.FirstName; model.LastName = student.LastName; return View(model); }
public DataTable SubjectGrades(Subject subject) { List <Grade> gradeList = new List <Grade>(); GradeRepository gradeRepository = new GradeRepository(); gradeList = gradeRepository.GetAll(filter: s => s.Subject.Id == subject.Id); StudentRepository studentRepository = new StudentRepository(); var gradeTable = new DataTable("SubjectsGrades"); gradeTable.Columns.Add("StudentName", typeof(string)); gradeTable.Columns.Add("GradeValue", typeof(string)); Dictionary <string, string> details = new Dictionary <string, string>(); List <string> gradeValues = new List <string>(); List <int> studentList = new List <int>(); foreach (var item in gradeList) { studentList.Add(item.Student.Id); } studentList = studentList.Distinct().ToList(); foreach (var item in studentList) { StringBuilder sb = new StringBuilder(); List <Grade> grades = new List <Grade>(); grades = gradeRepository.GetAll(filter: s => s.Student.Id == item && s.Subject.Id == subject.Id); foreach (var grade in grades) { sb.Append(grade.GradeValue); sb.Append(","); } sb.Length -= 1; Student student = new Student(); student = studentRepository.GetAll(filter: s => s.Id == item).FirstOrDefault(); string fullName = student.FirstName + " " + student.LastName; details.Add(fullName, sb.ToString()); } foreach (var item in details) { gradeTable.Rows.Add(item.Key, item.Value); } return(gradeTable); }
public JsonResult ShowPeriodModal(int periodId) { ViewBag.Grade = _gradeRepository.GetAll(periodId).Data; ViewBag.IsReadyToAdd = _repository.IsReadyToAdd(); return(Json(new { Html = RenderPartial.RenderPartialView(this, "~/Views/Period/_create.cshtml", null), Message = "", Status = "OK" }, JsonRequestBehavior.AllowGet)); }
public DataTable SubjectGrades(Subject subject) { List<Grade> gradeList = new List<Grade>(); GradeRepository gradeRepository = new GradeRepository(); gradeList = gradeRepository.GetAll(filter: s => s.Subject.Id == subject.Id); StudentRepository studentRepository = new StudentRepository(); var gradeTable = new DataTable("SubjectsGrades"); gradeTable.Columns.Add("StudentName",typeof(string)); gradeTable.Columns.Add("GradeValue", typeof(string)); Dictionary<string, string> details = new Dictionary<string, string>(); List<string> gradeValues = new List<string>(); List<int> studentList = new List<int>(); foreach (var item in gradeList) { studentList.Add(item.Student.Id); } studentList = studentList.Distinct().ToList(); foreach (var item in studentList) { StringBuilder sb = new StringBuilder(); List<Grade> grades = new List<Grade>(); grades = gradeRepository.GetAll(filter: s => s.Student.Id == item && s.Subject.Id == subject.Id); foreach (var grade in grades) { sb.Append(grade.GradeValue); sb.Append(","); } sb.Length -= 1; Student student = new Student(); student = studentRepository.GetAll(filter: s=> s.Id == item).FirstOrDefault(); string fullName = student.FirstName + " " + student.LastName; details.Add(fullName, sb.ToString()); } foreach (var item in details) { gradeTable.Rows.Add(item.Key, item.Value); } return gradeTable; }
public DataTable StudentsGradesToExcel(Student student) { List <Grade> gradeList = new List <Grade>(); GradeRepository gradeRepository = new GradeRepository(); gradeList = gradeRepository.GetAll(filter: g => g.Student.Id == student.Id); var gradeTable = new DataTable("StudentsGrades"); gradeTable.Columns.Add("SubjectName", typeof(string)); gradeTable.Columns.Add("GradeValue", typeof(string)); Dictionary <string, string> details = new Dictionary <string, string>(); List <string> subjectNameList = new List <string>(); List <string> gradeValues = new List <string>(); foreach (var item in gradeList) { subjectNameList.Add(item.Subject.Name); } subjectNameList = subjectNameList.Distinct().ToList(); foreach (var item in subjectNameList) { StringBuilder sb = new StringBuilder(); List <Grade> grades = new List <Grade>(); grades = gradeRepository.GetAll(filter: s => s.Subject.Name == item && s.Student.Id == student.Id); foreach (var grade in grades) { sb.Append(grade.GradeValue); sb.Append(","); } sb.Length -= 1; details.Add(item, sb.ToString()); } foreach (var item in details) { gradeTable.Rows.Add(item.Key, item.Value); } return(gradeTable); }
public JsonResult ShowGradeAvailables(int periodId = 0) { var grades = _gradeRepository.GetAll(periodId).Data; ViewBag.Grade = grades; return(Json(new { Html = RenderPartial.RenderPartialView(this, "~/Views/PeriodGrade/_create.cshtml", null), Message = "", Status = "OK", TotalRecords = grades.Count() }, JsonRequestBehavior.AllowGet)); }
public ActionResult ShowDetails(int id) { StudentControllerStudentVM model = new StudentControllerStudentVM(); List <Grade> gradeList = new List <Grade>(); GradeRepository gradeRepository = new GradeRepository(); gradeList = gradeRepository.GetAll(filter: s => s.Student.Id == id); Dictionary <string, List <string> > details = new Dictionary <string, List <string> >(); var subjectList = new List <string>(); foreach (var item in gradeList) { subjectList.Add(item.Subject.Name); } subjectList = subjectList.Distinct().ToList(); foreach (var item in subjectList) { var gradeValueList = new List <string>(); List <Grade> grades = new List <Grade>(); grades = gradeRepository.GetAll(filter: s => s.Subject.Name == item && s.Student.Id == id); foreach (var grade in grades) { gradeValueList.Add(grade.GradeValue.ToString()); } details.Add(item, gradeValueList); } model.SubjectGradeList = details; Student student = new Student(); StudentRepository studentRepository = new StudentRepository(); student = studentRepository.GetById(id); model.FirstName = student.FirstName; model.LastName = student.LastName; return(View(model)); }
public JsonResult AddGradeToStudent(int gradevalue, int studentid, int subjectid) { GradeRepository gradeRepo = new GradeRepository(); Grade grade = gradeRepo.GetAll(filter: g => g.StudentID == studentid && g.SubjectID == subjectid).FirstOrDefault(); if (grade == null) { grade = new Grade(); grade.StudentID = studentid; grade.GradeValue = gradevalue; grade.SubjectID = subjectid; gradeRepo.Save(grade); return Json(true); } return Json(false); }
public ActionResult AddGrade(int studentID, int subjectID) { GradeAddGradeVM model = new GradeAddGradeVM(); UserRepository<Student> sRepo = new UserRepository<Student>(); SubjectRepository subjRepo = new SubjectRepository(); GradeRepository gRepo = new GradeRepository(); Student student = sRepo.GetAll(filter: s => s.ID == studentID && s.Course.CourseSubject.Any(sub => sub.SubjectID == subjectID)).FirstOrDefault(); Subject subject = subjRepo.GetByID(subjectID); Grade grade = gRepo.GetAll(filter: g => g.StudentID == student.ID).FirstOrDefault(); model.StudentID = student.ID; model.SubjectID = subject.ID; return View(model); }
public void ExportSubjectListToCSV(int id) { StudentIndexVM model = new StudentIndexVM(); GradeRepository gradeRepo = new GradeRepository(); UserRepository<Student> studentRepo = new UserRepository<Student>(); model.Grades = gradeRepo.GetAll(filter: s => s.StudentID == id); Student student = studentRepo.GetByID(id); StringWriter sw = new StringWriter(); sw.WriteLine("\"Subject\",\"Grade\""); Response.ClearContent(); Response.AddHeader("content-disposition", "attachment;filename=" + student.FacultiNumber + ".csv"); Response.ContentType = "text/csv"; foreach (var item in model.Grades) { sw.WriteLine(string.Format("\"{0}\",\"{1}\"", item.Subject.Name, item.GradeValue)); } Response.Write(sw.ToString()); Response.End(); }
public ActionResult ShowGrades(int id, int courseSubjectID) { AdminControllerCourseSubjectVM courseSubjectModel = new AdminControllerCourseSubjectVM(); GradeRepository gradeRepository = new GradeRepository(); List<Grade> studentGrades = gradeRepository.GetAll(filter: s => s.Student.Id == id); Dictionary<string, List<Grade>> details = new Dictionary<string, List<Grade>>(); List<string> subjectNameList = new List<string>(); foreach (var item in studentGrades) { subjectNameList.Add(item.Subject.Name); } subjectNameList = subjectNameList.Distinct().ToList(); foreach (var item in subjectNameList) { List<Grade> grades = new List<Grade>(); grades = gradeRepository.GetAll(filter: s => s.Subject.Name == item && s.Student.Id == id); details.Add(item, grades); } courseSubjectModel.details = details; courseSubjectModel.StudentID = id; Student student = new Student(); StudentRepository studentRepository = new StudentRepository(); student = studentRepository.GetById(id); courseSubjectModel.StudentName = student.FirstName + " " + student.LastName; courseSubjectModel.CourseSubjectID = courseSubjectID; return View(courseSubjectModel); }
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(); }
public List <Grade> GetGrade() { return(_gradeRepository.GetAll().ToList <Grade>()); }
public ActionResult StudentDetails(int StudentID) { if (!AuthenticationManager.LoggedUser.GetType().BaseType.Equals(typeof(Teacher))) { return RedirectToAction("Default", "Login"); } List<Grade> studentGrades = new List<Grade>(); GradeRepository gradeRepository = new GradeRepository(); Student student = new Student(); StudentRepository studentRepository = new StudentRepository(); student = studentRepository.GetById(StudentID); TeacherControllerStudentsVM model = new TeacherControllerStudentsVM(); studentGrades = gradeRepository.GetAll(filter: g => g.Student.Id == StudentID); model.FirstName = student.FirstName; model.LastName = student.LastName; model.FaculityNumber = student.FacultyNumber; model.Course = student.Course.Name; model.StudentID = student.Id; model.CourseID = student.Course.Id; Dictionary<string, List<Grade>> details = new Dictionary<string, List<Grade>>(); List<string> subjectNameList = new List<string>(); foreach (var item in studentGrades) { subjectNameList.Add(item.Subject.Name); } subjectNameList = subjectNameList.Distinct().ToList(); foreach (var item in subjectNameList) { List<Grade> grades = new List<Grade>(); grades = gradeRepository.GetAll(filter: s => s.Subject.Name == item && s.Student.Id == StudentID); details.Add(item, grades); } model.SubjectGradeList = details; List<Subject> subjects = new List<Subject>(); CourseSubjectRepository courseSubjectRepo = new CourseSubjectRepository(); List<CourseSubject> courseSubjectList = new List<CourseSubject>(); courseSubjectList = courseSubjectRepo.GetAll(filter: c => c.CourseID == student.CourseID); foreach (var item in courseSubjectList) { subjects.Add(item.Subject); } model.SubjectList = subjects; return View(model); }
public JsonResult GetGrades(int periodId) { var result = _gradeRepository.GetAll(periodId); return(Json(result, JsonRequestBehavior.AllowGet)); }
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 IActionResult Get() { return(Ok(_gradeRepository.GetAll())); }
public void ExportSubjectListToExcel(int id) { StudentIndexVM model = new StudentIndexVM(); GradeRepository gradeRepo = new GradeRepository(); UserRepository<Student> studentRepo = new UserRepository<Student>(); Student student = studentRepo.GetByID(id); model.Grades = gradeRepo.GetAll(filter: s => s.StudentID == id); var grid = new System.Web.UI.WebControls.GridView(); var products = new System.Data.DataTable(student.FirstName); products.Columns.Add("Subject", typeof(string)); products.Columns.Add("Grade", typeof(string)); foreach (var item in model.Grades) { products.Rows.Add(item.Subject.Name, item.GradeValue); } grid.DataSource = products; grid.DataBind(); Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=" + student.FacultiNumber + ".xls"); Response.ContentType = "application/excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); grid.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); }
public JsonResult ShowStudentCreate(int studentId, string isEnrollment) { var controlToLoad = isEnrollment == "N"? "_addStudent.cshtml": "_enrollment.cshtml"; try { var allowedStattus = new[] { 1, 3 }; ViewBag.Period = _periodRepository.GetAll().Data .Where(m => allowedStattus.Contains(m.PeriodStatusTypeModel.PeriodStatusTypeId)) .Select(i => new SelectListItem() { Text = i.YearFrom + ' ' + i.YearTo, Value = i.PeriodId.ToString() }); ViewBag.Grade = _gradeRepository.GetAll(0).Data .Select(i => new SelectListItem() { Text = i.GradeDescription, Value = i.GradeId.ToString() }); ViewBag.TransactionType = _transactionTypeRepository.GetAll().Data; if (isEnrollment == "N") { ViewBag.Cities = _cityRepository.GetAll().Data .Select(i => new SelectListItem() { Text = i.CityDescription, Value = i.CityId.ToString() }); ViewBag.Gender = _genderRepository.GetAll().Data .Select(i => new SelectListItem() { Text = i.GenderDescription, Value = i.GenderId.ToString() }); } // Get Student Info var studentResponse = new ServiceResponseModel <StudentModel>(); if (studentId != 0) { studentResponse = _studentRepository.GetById(studentId); if (studentResponse.Response == Model.Enumerator.Enum.ServiceResponses.Failure) { throw new Exception(studentResponse.Reason); } } return(Json(new { //Html = RenderPartial.RenderPartialView(this, "~/Views/Student/_addStudent.cshtml", studentResponse.Model), Html = RenderPartial.RenderPartialView(this, "~/Views/Student/" + controlToLoad, studentResponse.Model), Message = "", Status = "OK" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { Message = ex.Message, Status = "ERROR" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Index() { StudentIndexVM model = new StudentIndexVM(); UserRepository<Student> stuRepo = new UserRepository<Student>(); CourseRepository courseRepo = new CourseRepository(); GradeRepository gradeRepo = new GradeRepository(); UserRepository<Teacher> teacherRepo = new UserRepository<Teacher>(); Student student = stuRepo.GetByID(Models.AuthenticationManager.LoggedUser.ID); model.FacultiNumber = student.FacultiNumber; model.FirstName = student.FirstName; model.LastName = student.LastName; Course course = courseRepo.GetAll(filter: x => x.CourseSubject.Any(c => c.Course.Student.Any(s => s.ID == Models.AuthenticationManager.LoggedUser.ID))).FirstOrDefault(); model.CourseName = course.Name; model.Grades = gradeRepo.GetAll(filter: g => g.StudentID == Models.AuthenticationManager.LoggedUser.ID); return View(model); }