コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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" }));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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" }));
        }
コード例 #5
0
        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" }));
        }