Example #1
0
        async Task<RecordMetadata> UpdateData()
        {
            String request = String.Format(this._urlTemplate, this._nextPageNum);
            
            // Create an HttpClient instance 
            HttpClient client = new HttpClient();

            String urlContents = await client.GetStringAsync(request);
            this._lastData = JsonConvert.DeserializeObject<RecordMetadata>(urlContents);
            this._currentPage = this._nextPageNum;
            this._nextPageNum++;
            //OnRaiseCustomEvent(new DataRetrieverEventArgs(this._lastData));

            return this._lastData;

            /*

            // Send a request asynchronously continue when complete 
            client.GetAsync(request).ContinueWith(
                (requestTask) =>
                {
                    // Get HTTP response from completed task. 
                    HttpResponseMessage response = requestTask.Result;

                    // Check that response was successful or throw exception 
                    //response.EnsureSuccessStatusCode();
                    if (response.StatusCode == HttpStatusCode.OK)
                    {

                        // Read response asynchronously as JsonValue and write out top facts for each country 
                        response.Content.ReadAsStringAsync().ContinueWith(
                            (task) =>
                            {
                                if (task.Exception == null)
                                {
                                    if (!task.IsCanceled)
                                    {
                                        this._lastData = JsonConvert.DeserializeObject<RecordMetadata>(task.Result);
                                        this._currentPage = this._nextPageNum;
                                        this._nextPageNum++;
                                        OnRaiseCustomEvent(new DataRetrieverEventArgs(this._lastData));
                                    }

                                }
                            }
                        );
                    }
                    else
                    {
                        System.Threading.Thread.Sleep(100);
                        Console.WriteLine("re-try");

                        this._nextPageNum++;
                        UpdateData();
                    }
                });
            */
            //_wc.DownloadDataAsync(new Uri(request));
        }
Example #2
0
 /// <summary>
 /// Starts an asynchronous request for the first page
 /// </summary>
 public async Task<RecordMetadata> GetFirstPage()
 {
     this._lastData = null;
     this._nextPageNum = 1;
     return await UpdateData();
 }
Example #3
0
 public DataRetriever()
 {
     _lastData = null;
 }
Example #4
0
 public DataRetrieverEventArgs(RecordMetadata rm)
 {
     this.rm = rm;
 }
Example #5
0
 /// <summary>
 /// Starts an asynchronous request for the first page
 /// </summary>
 public async Task <RecordMetadata> GetFirstPage()
 {
     this._lastData    = null;
     this._nextPageNum = 1;
     return(await UpdateData());
 }
Example #6
0
 public DataRetriever()
 {
     _lastData = null;
 }
Example #7
0
 public DataRetrieverEventArgs(RecordMetadata rm)
 {
     this.rm = rm;
 }