public ActionResult Create(int id) { var currentEnrollee = _enrolleeService.Find(customer => customer.AppCustomer.UserName == User.Identity.Name).First(); var faculty = _facultyService.Get(id); var addedFaculty = _facultyService.GetAll().Where(f => f.FacultyNumber == faculty.FacultyNumber && faculty.Enrollees.Any()).ToList(); if (currentEnrollee.Faculties.Any(f => f.FacultyNumber == faculty.FacultyNumber)) { ModelState.AddModelError("AddFaculty", "This faculty already added."); return(View()); } else if (addedFaculty.Any() && addedFaculty.First().Enrollees.Any() && addedFaculty.First().Enrollees.Count(e => e.StudentStatuses.Any(s => s.FacultyStatus == true && s.Faculty.FacultyNumber == faculty.FacultyNumber)) == faculty.AllPlaces) { ModelState.AddModelError("AddFaculty", "No places are there :("); return(View()); } else { currentEnrollee.ExaminationSubjects.Clear(); currentEnrollee.SchoolSubjects.Clear(); foreach (var item in _schoolSubjectsService.GetAll().ToList()) { if (!currentEnrollee.SchoolSubjects.Contains(item)) { currentEnrollee.SchoolSubjects.Add(item); } } var exSubjects = _examinationSubjectService.Find(e => e.Faculties.Any(f => f.FacultyNumber == faculty.FacultyNumber)).ToList(); foreach (var item in exSubjects) { if (!currentEnrollee.ExaminationSubjects.Any(s => s.Name == item.Name)) { currentEnrollee.ExaminationSubjects.Add(item); } } currentEnrollee.Faculties.Add(faculty); var status = new StudentStatus() { Faculty = faculty, FacultyStatus = false, Enrollee = currentEnrollee, Status = "Enrollee" }; _studentStatusService.Create(status); _enrolleeService.Update(currentEnrollee); return(View("Create", currentEnrollee)); } }
public ActionResult DeleteConfirmed(int id) { var enrollee = _enrolleeService.Get(id); var statuses = enrollee.StudentStatuses.Where(s => s.FacultyStatus == false && s.Enrollee.Email == enrollee.Email).ToList(); var faculties = enrollee.Faculties.Where(f => f.StudentStatuses.Any(s => s.FacultyStatus == false)).ToList(); faculties.ForEach(f => enrollee.Faculties.Remove(f)); statuses.ForEach(s => enrollee.StudentStatuses.Remove(s)); statuses.ForEach(s => _studentStatusService.Delete(s.Id)); _enrolleeService.Update(enrollee); var statements = _statementService.GetAll(); if (!statements.Any() | !statements.Last().Enrollee.Contains(enrollee)) { return(RedirectToAction("GetStatement", "Statement", new { area = "Operator" })); } var statement = _statementService.GetAll().Last(); statement.Enrollee.Remove(enrollee); _statementService.Update(statement); return(RedirectToAction("GetEnrollees", "Enrollee", new { area = "Operator" })); }
public void Update_Enrollee_Updated() { var enrollee = new Enrollee(); _unitOfWorkMock.Setup(uof => uof.EnrolleeGenericRepository.Update(enrollee)); _sut.Update(enrollee); _unitOfWorkMock.Verify(uof => uof.EnrolleeGenericRepository.Update(It.IsAny <Enrollee>()), Times.AtLeastOnce); }
public ActionResult AddedStudentDelete(int id, int facultyid) { var enrolee = _enrolleeService.Get(id); var faculty = enrolee.Faculties.First(f => f.Id == facultyid); if (enrolee.Faculties.Count == 1 && enrolee.Faculties.First().Id == facultyid) { var statement = _statementService.Find(s => s.Enrollee.Count(e => e.Faculties.Contains(faculty) && e.Id == enrolee.Id) > 0).First(); enrolee.Faculties.Remove(faculty); var status = enrolee.StudentStatuses.Where(s => s.Faculty.FacultyNumber == faculty.FacultyNumber && s.Enrollee.Email == enrolee.Email).First(); enrolee.StudentStatuses.Remove(status); statement.Enrollee.Remove(enrolee); _studentStatusService.Delete(status.Id); _enrolleeService.Update(enrolee); _statementService.Update(statement); } else { var status = enrolee.StudentStatuses.Where(s => s.Faculty.FacultyNumber == faculty.FacultyNumber && s.Enrollee.Email == enrolee.Email).First(); enrolee.StudentStatuses.Remove(status); enrolee.Faculties.Remove(faculty); _studentStatusService.Delete(status.Id); _enrolleeService.Update(enrolee); } return(RedirectToAction("GetAllAddedStudent", "Statement", new { area = "Operator" })); }
public ActionResult FacultyDelete(int id) { var faculty = _facultyService.Get(id); if (faculty == null) { return(HttpNotFound()); } var currentEnrollee = _enrolleeService.Find(customer => customer.AppCustomer.UserName == User.Identity.Name).First(); currentEnrollee.Faculties.Remove(faculty); var status = currentEnrollee.StudentStatuses.Where(s => s.Faculty.FacultyNumber == faculty.FacultyNumber && s.Enrollee.Email == currentEnrollee.Email).ToList(); status.ForEach(s => currentEnrollee.StudentStatuses.Remove(s)); status.ForEach(s => _studentStatusService.Delete(s.Id)); _enrolleeService.Update(currentEnrollee); return(RedirectToAction("GetFaculties", new { controller = "Enrolle", area = "Enrollee" })); }