public ActionResult Create(Student st) { if (!ValidateStudent(st)) this.ModelState.AddModelError("UniqueName", uniqueNameErrorMsg); if (ModelState.IsValid) { MatchingDB db = new MatchingDB(); st.Guid = Guid.NewGuid(); db.Students.Add(st); db.SaveChanges(); TempData["message"] = "Student \"" + st.FirstName+" "+st.LastName + "\" is added!"; db.Dispose(); return RedirectToAction("Index"); } setViewDataForListOfDegrees(); return View(st); }
public JsonResult SubmitPreferences(ProjectPreferencesDto preferencesDto) { MatchingDB db = new MatchingDB(); Project project = db.Projects.Include("Matchings.Student").Include("ProjectRejects.Student").Where(p => p.Id == preferencesDto.ProjectId && p.Guid == new Guid(preferencesDto.ProjectGuid)).FirstOrDefault(); string message = project == null ? "Authentication failure: Project can not be identified." : "Success"; var jsonResult = new JsonResult(); jsonResult.Data = message; if (project == null) return jsonResult; // Update the project scores with the scores coming from UI foreach (ProjectScoreDto pSDto in preferencesDto.ProjectPreferences) { project.Matchings.Where(m => m.Student.Id == pSDto.StudentId).FirstOrDefault().ProjectScore = pSDto.Score; } // Remove all rejects ICollection<ProjectReject> projectRejects = project.ProjectRejects.ToList(); project.ProjectRejects.Clear(); foreach (ProjectReject reject in projectRejects) { db.ProjectRejects.Remove(reject); } // Add rejects that came from UI. IList<ProjectReject> userRejects = new List<ProjectReject>(); if (preferencesDto.ProjectRejects != null) { foreach (ProjectRejectDto pRDto in preferencesDto.ProjectRejects) { ProjectReject pr = new ProjectReject(); pr.Student = db.Students.Where(s => s.Id == pRDto.StudentId).FirstOrDefault(); pr.Reason = pRDto.Reason; userRejects.Add(pr); } } project.ProjectRejects = userRejects; project.Feedback = preferencesDto.Feedback; project.ScoreDate = DateTime.Now; db.SaveChanges(); db.Dispose(); SendConfirmationMessage(project); return jsonResult; }
private int GetStudentCountByUniqueName(String uname) { MatchingDB db = new MatchingDB(); int count=db.Students.Where(s => s.UniqueName == uname.ToLower()).Count(); db.Dispose(); return count; }
public ActionResult Index() { MatchingDB db = new MatchingDB(); var students = db.Students.Include("Matchings").OrderBy(s=>s.FirstName).ThenBy(s=>s.LastName).ToList(); db.Dispose(); return View(students); }
public ActionResult Edit(Student st) { if (!ModelState.IsValid) return View(st); MatchingDB db = new MatchingDB(); Student student = db.Students.FirstOrDefault(s => s.Id == st.Id); if (student.UniqueName.ToLower() != st.UniqueName.ToLower() && !ValidateStudent(st)) { setViewDataForListOfDegrees(); this.ModelState.AddModelError("UniqueName", uniqueNameErrorMsg); return View(st); } student.UniqueName = st.UniqueName; student.LastName = st.LastName; student.FirstName = st.FirstName; student.Email = st.Email; student.Degree = st.Degree; student.Comments = st.Comments; db.SaveChanges(); TempData["message"] = "Student \"" + student.FirstName+" "+student.LastName + "\" is updated."; db.Dispose(); return RedirectToAction("Index"); }
public ActionResult Edit(int id) { MatchingDB db = new MatchingDB(); var student = (from s in db.Students where s.Id == id select s).FirstOrDefault<Student>(); setViewDataForListOfDegrees(); db.Dispose(); return View(student); }