Exemplo n.º 1
0
        public List <Course> GetCourses(SearchCourses filter, int userId)
        {
            var Courses = _unitOfWork.Course.GetAll();

            if (filter.CourseName != "")
            {
                Courses = Courses.Where(c => c.CourseName.ToLower().Contains(filter.CourseName.ToLower()));
            }
            if (filter.CourseNumber != "")
            {
                int CourseNumber = -1;
                Int32.TryParse(filter.CourseNumber, out CourseNumber);
                if (CourseNumber > -1)
                {
                    Courses = Courses.Where(c => c.CourseNumber == CourseNumber);
                }
            }
            if (filter.Department != "")
            {
                Courses = Courses.Where(c => c.Department.Contains(filter.Department));
            }
            if (filter.CreditHours != "")
            {
                int CreditHours = -1;
                Int32.TryParse(filter.CreditHours, out CreditHours);
                if (CreditHours > -1)
                {
                    Courses = Courses.Where(c => c.CreditHours == CreditHours);
                }
            }


            var CourseList = Courses.ToList();

            if (userId > 0)
            {
                int i = 0;
                var RegisteredCourses = _unitOfWork.Registration.GetAll(r => r.StudentID == userId);
                if (RegisteredCourses.Count() > 0)
                {
                    foreach (var reg in RegisteredCourses)
                    {
                        i = 0;
                        foreach (var crs in CourseList)
                        {
                            if (crs.ID == reg.CourseID)
                            {
                                CourseList[i].Registered = true;
                            }
                            i++;
                        }
                    }
                }
            }

            return(CourseList);
        }
Exemplo n.º 2
0
        public IActionResult Post([FromBody] SearchCourses filter) //[FromBody]
        {
            var Courses = _unitOfWork.Course.GetAll();
            int userId  = 0;

            if (HttpContext.Session.GetInt32(SD.UserSessionId) != null)
            {
                if (HttpContext.Session.GetInt32(SD.UserSessionId) != null && HttpContext.Session.GetInt32(SD.UserSessionId).HasValue)
                {
                    userId = HttpContext.Session.GetInt32(SD.UserSessionId).Value;
                }
            }


            var CourseList = GetCourses(filter, userId);

            return(Json(new { CourseList }));
        }
Exemplo n.º 3
0
        public async Task TestRegistrationV2()
        {
            SearchCourses          filter                 = new SearchCourses();
            HttpClient             httpClient             = new HttpClient();
            RegistrationController registrationController = new RegistrationController(_unitOfWork);

            httpClient.DefaultRequestHeaders.Accept
            .Add(new MediaTypeWithQualityHeaderValue("application/json"));
            filter.isTest       = true;
            filter.CourseName   = "";
            filter.CourseNumber = "";
            filter.CreditHours  = "";
            filter.Department   = "";

            var registrationsFromDatabase = _context.Registration.Where(x => x.StudentID == 20);

            _context.Registration.RemoveRange(registrationsFromDatabase);
            _context.SaveChanges();

            var coursesFromController = registrationController.GetCourses(filter, 20);

            int controllerCourseCount = coursesFromController.Count;
            int databaseCourseCount   = _context.Course.Count();

            Assert.AreEqual(controllerCourseCount, databaseCourseCount);

            foreach (var course in coursesFromController)
            {
                registrationController.AddOrRemoveRegistration(course.ID, true, 20);
            }

            int registrationCountFromDatabase   = _context.Registration.Where(x => x.StudentID == 20).Count();
            int registrationCountFromController = registrationController.GetCourses(filter, 20).Count();

            Assert.AreEqual(databaseCourseCount, registrationCountFromDatabase);
            Assert.AreEqual(controllerCourseCount, registrationCountFromDatabase);
            Assert.AreEqual(registrationCountFromController, registrationCountFromDatabase);

            registrationsFromDatabase = _context.Registration.Where(x => x.StudentID == 20);
            _context.Registration.RemoveRange(registrationsFromDatabase);
            _context.SaveChanges();
        }