コード例 #1
0
        public List <AvailableCourse> GetAvailableCourses()
        {
            if (_session_token == "")
            {
                return(null);
            }

            var req = new RestRequest(Method.GET)
            {
                Resource = "api/courses/available/" + _session_token
            };
            var res = _client.Execute <FullAvailableCourseResponse>(req);
            FullAvailableCourseResponse courses = res.Data;

            if (courses == null)
            {
                ErrorPrinter.BadData("Parsing Available courses failed");
                return(null);
            }

            if (courses.errorCode != null)
            {
                ErrorPrinter.Code(courses);
                return(null);
            }

            return(courses.ToCourses());
        }
コード例 #2
0
        public List <AvailableCourse> SearchForCourses(string term, string prefix, string number, string ilastname, int startTime, int endTime, int slots, HttpRCB <FullAvailableCourseResponse> callback)
        {
            if (_session_token == "")
            {
                return(null);
            }

            var req = new RestRequest(Method.GET)
            {
                Resource = "api/courses/search/" + _session_token
            };

            if (term != "")
            {
                req.AddParameter("term", term);
            }
            if (prefix != "")
            {
                req.AddParameter("prefix", prefix);
            }
            if (number != "")
            {
                req.AddParameter("number", number);
            }
            if (ilastname != "")
            {
                req.AddParameter("instructor", ilastname);
            }
            if (startTime != -1 && endTime != -1)
            {
                if (startTime < endTime)
                {
                    req.AddParameter("startTime", startTime);
                    req.AddParameter("endTime", endTime);
                }
            }
            if (slots >= 0)
            {
                req.AddParameter("slotsAvailable", slots);
            }

            var res = _client.Execute <FullAvailableCourseResponse>(req);
            FullAvailableCourseResponse courses = res.Data;

            if (courses == null)
            {
                ErrorPrinter.BadData("Parsing searched courses failed");
                return(null);
            }

            if (callback(courses))
            {
                return(courses?.ToCourses());
            }
            else
            {
                return(null);
            }
        }