/// <summary>
        /// Request xContacts associated to a specific xLea by refId by school year.
        /// </summary>
        /// <param name="refId">RefId of xLea.</param>
        /// <param name="schoolYear">The year of the requested data (i.e. 2018 for the 2017-2018 school year).</param>
        /// <returns>List of xContacts type.</returns>
        internal ResponseMulti <XContactType> GetXContactsByXLea(string refId, int?schoolYear)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader(schoolYear);
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXContactsByXLea, refId, rh, rqp);

            return(rr.MakeAllRequest <XContactType, XContactCollectionType>(rc, rp));
        }
        /// <summary>
        /// Request all xContacts value changes from a given point with paging.
        /// </summary>
        /// <param name="navigationPage">Page to retrieve.</param>
        /// <param name="navigationPageSize">Number of resources to retrieve.</param>
        /// <param name="opaqueMarker">Uses an ISO8601 timestamp that indicates a point since the last changes have been requested.</param>
        /// <returns>List of xContacts type.</returns>
        internal ResponseMulti <XContactType> GetXContacts(int?navigationPage, int?navigationPageSize, string opaqueMarker)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader(navigationPage, navigationPageSize);
            RestQueryParameter rqp = new RestQueryParameter(opaqueMarker);
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXContacts, rh, rqp);

            return(rr.MakeAllRequest <XContactType, XContactCollectionType>(rc, rp));
        }
        /// <summary>
        /// Request single xContact by refId.
        /// </summary>
        /// <param name="refId">RefId of xContact.</param>
        /// <returns>Single xContacts type.</returns>
        internal ResponseSingle <XContactType> GetXContact(string refId)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader();
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXContactByRefId, refId, rh, rqp);

            return(rr.MakeSingleRequest <XContactType, XContactCollectionType>(rc, rp));
        }
示例#4
0
        /// <summary>
        /// Request all xCourses with paging by school year.
        /// </summary>
        /// <param name="navigationPage">Page to retrieve.</param>
        /// <param name="navigationPageSize">Number of resources to retrieve.</param>
        /// <param name="schoolYear">The year of the requested data (i.e. 2018 for the 2017-2018 school year).</param>>
        /// <returns>List of xCourses type.</returns>
        internal ResponseMulti <XCourseType> GetXCourses(int?navigationPage, int?navigationPageSize, int?schoolYear)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader(navigationPage, navigationPageSize, schoolYear);
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXCourses, rh, rqp);

            return(rr.MakeAllRequest <XCourseType, XCourseCollectionType>(rc, rp));
        }
示例#5
0
        /// <summary>
        /// Request all xCourse value changes from a given point.
        /// </summary>
        /// <param name="opaqueMarker">Uses an ISO8601 timestamp that indicates a point since the last changes have been requested.</param>
        /// <returns>List of xCourses type.</returns>
        internal ResponseMulti <XCourseType> GetXCourses(string opaqueMarker)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader();
            RestQueryParameter rqp = new RestQueryParameter(opaqueMarker);
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXCourses, rh, rqp);

            return(rr.MakeAllRequest <XCourseType, XCourseCollectionType>(rc, rp));
        }
示例#6
0
        /// <summary>
        /// Request all xRosters by school year.
        /// </summary>
        /// <param name="schoolYear">The year of the requested data (i.e. 2018 for the 2017-2018 school year).</param>
        /// <returns>List of xRosters type.</returns>
        internal ResponseMulti <XRosterType> GetXRosters(int?schoolYear)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader(schoolYear);
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXRosters, rh, rqp);

            return(rr.MakeAllRequest <XRosterType, XRosterCollectionType>(rc, rp));
        }
示例#7
0
        /// <summary>
        /// Request all xRosters value changes from a given point by a specific xStudent with paging.
        /// </summary>
        /// <param name="refId">RefId of xStudent.</param>
        /// <param name="navigationPage">Page to retrieve.</param>
        /// <param name="navigationPageSize">Number of resources to retrieve.</param>
        /// <param name="opaqueMarker">Uses an ISO8601 timestamp that indicates a point since the last changes have been requested.</param>
        /// <returns>List of xRosters type.</returns>
        internal ResponseMulti <XRosterType> GetXRostersByXStudent(string refId, int?navigationPage, int?navigationPageSize, string opaqueMarker)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader(navigationPage, navigationPageSize);
            RestQueryParameter rqp = new RestQueryParameter(opaqueMarker);
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXRostersByXStudent, refId, rh, rqp);

            return(rr.MakeAllRequest <XRosterType, XRosterCollectionType>(rc, rp));
        }
示例#8
0
        /// <summary>
        /// Request single xRoster by refId by school year.
        /// </summary>
        /// <param name="refId">RefId of xRoster.</param>
        /// <param name="schoolYear">The year of the requested data (i.e. 2018 for the 2017-2018 school year).</param>
        /// <returns>Single xRosters type</returns>
        internal ResponseSingle <XRosterType> GetXRoster(string refId, int?schoolYear)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader(schoolYear);
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXRosterByRefId, refId, rh, rqp);

            return(rr.MakeSingleRequest <XRosterType, XRosterCollectionType>(rc, rp));
        }
示例#9
0
        /// <summary>
        /// Request xRosters associated to a specific xStaff by refId.
        /// </summary>
        /// <param name="refId">RefId of xStaff.</param>
        /// <returns>List of xRosters type.</returns>
        internal ResponseMulti <XRosterType> GetXRostersByXStaff(string refId)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader();
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXRostersByXStaff, refId, rh, rqp);

            return(rr.MakeAllRequest <XRosterType, XRosterCollectionType>(rc, rp));
        }
示例#10
0
        /// <summary>
        /// Request all xStaffs value changes from a given point by a specific xStudent.
        /// </summary>
        /// <param name="refId">RefId of xStudent.</param>
        /// <param name="opaqueMarker">Uses an ISO8601 timestamp that indicates a point since the last changes have been requested.</param>
        /// <returns>List of xStaffs type.</returns>
        internal ResponseMulti <XStaffType> GetXStaffsByXStudent(string refId, string opaqueMarker)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader();
            RestQueryParameter rqp = new RestQueryParameter(opaqueMarker);
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXStaffsByXStudent, refId, rh, rqp);

            return(rr.MakeAllRequest <XStaffType, XStaffCollectionType>(rc, rp));
        }
示例#11
0
        /// <summary>
        /// Request xStaffs associated to a specific xRoster by refId with paging by school year.
        /// </summary>
        /// <param name="refId">RefId of xRoster.</param>
        /// <param name="navigationPage">Page to retrieve.</param>
        /// <param name="navigationPageSize">Number of resources to retrieve.</param>
        /// <param name="schoolYear">The year of the requested data (i.e. 2018 for the 2017-2018 school year).</param>
        /// <returns>List of xStaffs type.</returns>
        internal ResponseMulti <XStaffType> GetXStaffsByXRoster(string refId, int?navigationPage, int?navigationPageSize, int?schoolYear)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader(navigationPage, navigationPageSize, schoolYear);
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXStaffsByXRoster, refId, rh, rqp);

            return(rr.MakeAllRequest <XStaffType, XStaffCollectionType>(rc, rp));
        }
示例#12
0
        /// <summary>
        /// Request all xStaffs.
        /// </summary>
        /// <returns>List of xStaffs type.</returns>
        internal ResponseMulti <XStaffType> GetXStaffs()
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader();
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXStaffs, rh, rqp);

            return(rr.MakeAllRequest <XStaffType, XStaffCollectionType>(rc, rp));
        }
示例#13
0
        /// <summary>
        /// Request single xStaff by State or Local Id by school year.
        /// </summary>
        /// <param name="idType">Header value can be set to state or local.</param>
        /// <param name="id">State or Local Id.</param>
        /// <param name="schoolYear">The year of the requested data (i.e. 2018 for the 2017-2018 school year).</param>
        /// <returns>Single xStaffs type.</returns>
        internal ResponseSingle <XStaffType> GetXStaff(string idType, string id, int?schoolYear)
        {
            RestReturn         rr  = new RestReturn();
            RestHeader         rh  = new RestHeader(idType, id, schoolYear);
            RestQueryParameter rqp = new RestQueryParameter();
            RestProperties     rp  = new RestProperties(baseApiUrl, ServicePath.GetXStaffById, rh, rqp);

            return(rr.MakeSingleRequest <XStaffType, XStaffCollectionType>(rc, rp));
        }
示例#14
0
        public void WhenGetRequestIsMade()
        {
            ExcelRecord    rec       = ContextPage.GetInstance().GetExcelRecord();
            RestProperties rest_prop = new RestProperties();
            IRestResponse  response  = rest_prop.CallGetAPIRequest();

            context.Set_Response(response);
            string ali         = response.Content.ToString();
            string replacement = Regex.Replace(ali, "\"|{|}", "");

            replacement  = replacement.Replace(",", "   ");
            rec.Response = replacement;
            ContextPage.GetInstance().SetExcelRecord(rec);
        }
示例#15
0
        public void WhenPostRequestIsMade()
        {
            ExcelRecord    rec       = ContextPage.GetInstance().GetExcelRecord();
            RestProperties rest_prop = new RestProperties();
            string         format    = context.Get_api_format();
            IRestResponse  response  = rest_prop.CallPostAPIRequest(format);
            int            code      = (int)response.StatusCode;

            context.Set_Response(response);
            string replacement = response.Content.ToString();

            if (context.Get_api_format() == "xml")
            {
                replacement = replacement.Replace("\n", "");
            }
            if (context.Get_api_format() == "json")
            {
                replacement = Regex.Replace(replacement, "\"|{|}", "");
                replacement = replacement.Replace(",", "   ");
            }
            rec.Response = replacement;
            ContextPage.GetInstance().SetExcelRecord(rec);
        }
示例#16
0
        /// <summary>
        /// Returns the max page value for specified service path object.
        /// </summary>
        /// <param name="servicePath">The requested service path.</param>
        /// <param name="refId">RefId of xObject.</param>
        /// <param name="navigationPageSize">Number of resources to retrieve.</param>
        /// <param name="schoolYear">The year of the requested data (i.e. 2018 for the 2017-2018 school year).</param>
        /// <returns>Integer value.</returns>
        internal int GetLastPage(ServicePath servicePath, string refId, int?navigationPageSize, int?schoolYear)
        {
            int                navigationPage = 1;
            RestReturn         rr             = new RestReturn();
            RestHeader         rh             = new RestHeader(navigationPage, navigationPageSize, schoolYear);
            RestQueryParameter rqp            = new RestQueryParameter();

            try
            {
                switch (servicePath.GetServicePathName())
                {
                case "GetXLeasByXSchool":
                case "GetXLeasByXRoster":
                case "GetXLeasByXStaff":
                case "GetXLeasByXStudent":
                case "GetXLeasByXContact":
                {
                    RestProperties rp = new RestProperties(baseApiUrl, servicePath, refId, rh, rqp);
                    rr.MakeAllRequest <XLeaType, XLeaCollectionType>(rc, rp);
                    break;
                }

                case "GetXSchoolsByXLea":
                case "GetXSchoolsByXCalendar":
                case "GetXSchoolsByXCourse":
                case "GetXSchoolsByXRoster":
                case "GetXSchoolsByXStaff":
                case "GetXSchoolsByXStudent":
                case "GetXSchoolsByXContact":
                {
                    RestProperties rp = new RestProperties(baseApiUrl, servicePath, refId, rh, rqp);
                    rr.MakeAllRequest <XSchoolType, XSchoolCollectionType>(rc, rp);
                    break;
                }

                case "GetXCalendarsByXLea":
                case "GetXCalendarsByXSchool":
                {
                    RestProperties rp = new RestProperties(baseApiUrl, servicePath, refId, rh, rqp);
                    rr.MakeAllRequest <XCalendarType, XCalendarCollectionType>(rc, rp);
                    break;
                }

                case "GetXCoursesByXLea":
                case "GetXCoursesByXSchool":
                case "GetXCoursesByXRoster":
                {
                    RestProperties rp = new RestProperties(baseApiUrl, servicePath, refId, rh, rqp);
                    rr.MakeAllRequest <XCourseType, XCourseCollectionType>(rc, rp);
                    break;
                }

                case "GetXRostersByXLea":
                case "GetXRostersByXSchool":
                case "GetXRostersByXCourse":
                case "GetXRostersByXStaff":
                case "GetXRostersByXStudent":
                {
                    RestProperties rp = new RestProperties(baseApiUrl, servicePath, refId, rh, rqp);
                    rr.MakeAllRequest <XRosterType, XRosterCollectionType>(rc, rp);
                    break;
                }

                case "GetXStaffsByXLea":
                case "GetXStaffsByXSchool":
                case "GetXStaffsByXCourse":
                case "GetXStaffsByXRoster":
                case "GetXStaffsByXStudent":
                {
                    RestProperties rp = new RestProperties(baseApiUrl, servicePath, refId, rh, rqp);
                    rr.MakeAllRequest <XStaffType, XStaffCollectionType>(rc, rp);
                    break;
                }

                case "GetXStudentsByXLea":
                case "GetXStudentsByXSchool":
                case "GetXStudentsByXRoster":
                case "GetXStudentsByXStaff":
                case "GetXStudentsByXContact":
                {
                    RestProperties rp = new RestProperties(baseApiUrl, servicePath, refId, rh, rqp);
                    rr.MakeAllRequest <XStudentType, XStudentCollectionType>(rc, rp);
                    break;
                }

                case "GetXContactsByXLea":
                case "GetXContactsByXSchool":
                case "GetXContactsByXStudent":
                {
                    RestProperties rp = new RestProperties(baseApiUrl, servicePath, refId, rh, rqp);
                    rr.MakeAllRequest <XContactType, XContactCollectionType>(rc, rp);
                    break;
                }
                }
                return(rr.NavigationLastPage);
            }
            catch (Exception)
            {
                return(0);
            }
        }