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 void Find_NotNullPredicate_CorrectQuantity()
        {
            var enrollees = new List <Enrollee>()
            {
                new Enrollee(),
                new Enrollee()
            };

            _unitOfWorkMock.Setup(uof => uof.EnrolleeGenericRepository.Find(It.IsAny <Func <Enrollee, bool> >())).Returns(enrollees);

            var actual = _sut.Find(It.IsAny <Func <Enrollee, bool> >());

            Assert.Equal(enrollees.Count, actual.Count());
        }
Пример #3
0
        public ActionResult GetFaculties()
        {
            var currentEnrollee = _enrolleeService.Find(customer => customer.AppCustomer.UserName == User.Identity.Name).First();

            return(View(currentEnrollee.Faculties));
        }