Example #1
0
        public void VerifyRequestContext(RequestContext reqContext)
        {
            string baseUrl = reqContext.Race.BaseURL;

            IronmanClient sourceClient;  //we'll change this to a factory pattern if we have more than these two classes

            string apiName = reqContext.Race.ApiName == null ? "IronmanClient" : reqContext.Race.ApiName.ToLower();

            if (apiName.Equals("ironmanclientdoubletable", StringComparison.CurrentCultureIgnoreCase))
            {
                sourceClient = new IronmanClientDoubleTable(_DBContext);
            }
            else
            {
                sourceClient = new IronmanClient(_DBContext);
            }
            int pagenum = 1;

            List <Triathlete> athletesPerPage = new List <Triathlete>();


            IRestResponse response = sourceClient.MakeRequest(baseUrl, sourceClient.BuildRequestParameters(pagenum, reqContext));
            bool          result   = sourceClient.HandleResponse(response, reqContext);

            if (result)
            {
                sourceClient.ParseDataToVerify(reqContext, response.Content);

                SaveRequestContext(reqContext);
            }
        }
Example #2
0
        private List <Triathlete> GetAthletesFromSource(RequestContext reqContext)
        {
            Trace.TraceInformation(String.Format("GetFromSource {0}-{1}{2}", reqContext.RaceId, reqContext.AgeGroupId, reqContext.GenderId));

            List <Triathlete> athletesFromSource = new List <Triathlete>();

            reqContext.SourceCount = 0;

            string baseUrl = reqContext.Race.BaseURL;

            IronmanClient sourceClient;  //we'll change this to a factory pattern if we have more than these two classes

            string apiName = reqContext.Race.ApiName == null ? "IronmanClient" : reqContext.Race.ApiName.ToLower();

            if (apiName.Equals("ironmanclientdoubletable", StringComparison.CurrentCultureIgnoreCase))
            {
                sourceClient = new IronmanClientDoubleTable(_DBContext);
            }
            else
            {
                sourceClient = new IronmanClient(_DBContext);
            }
            for (int pagenum = 1; pagenum < 100; pagenum++)
            {
                List <Triathlete> athletesPerPage = new List <Triathlete>();


                IRestResponse response = sourceClient.MakeRequest(baseUrl, sourceClient.BuildRequestParameters(pagenum, reqContext));
                bool          result   = sourceClient.HandleResponse(response, reqContext);
                if (result)
                {
                    athletesPerPage = sourceClient.ParseData(reqContext, response.Content, pagenum);

                    if (athletesPerPage.Count > 0)
                    {
                        reqContext.SourceCount += athletesPerPage.Count;
                        athletesFromSource.AddRange(athletesPerPage);
                    }
                    else
                    {
                        break;
                    }
                }
                else
                {
                    break;
                }
            }


            SaveRequestContext(reqContext);
            DeleteAthletes(reqContext);
            SaveAthletes(athletesFromSource);



            return(athletesFromSource);
        }