public async Task <OrphansResponse> GetOrphansAsync(OrphanParametes parameters) { string queryString = $"?pageSize={parameters.PageSize}&pageNumber={parameters.PageNumber}"; string url = $"{ HttpRepositorySettings.BaseApiUrl }/{ Controller }{ queryString} "; var request = new HttpRequestMessage(HttpMethod.Get, url); // TODO Add JWT token to header // request.Headers var response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); IEnumerable <string> xPagination; response.Headers.TryGetValues("X-Pagination", out xPagination); ResponseMetaData metaData = null; if (xPagination != null) { string xPaginationData = xPagination.FirstOrDefault(); metaData = JsonSerializer.Deserialize <ResponseMetaData>(xPaginationData, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); } var content = await response.Content.ReadAsStringAsync(); var orphans = JsonSerializer.Deserialize <List <Orphan> >(content, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); return(new OrphansResponse { Orphans = orphans, MetaData = metaData }); }
private async Task LoadOrphansAsync() { //SampleItems.Clear(); OrphanItems.Clear(); IEnumerable <Orphan> data; // // Use Web API or db directly // if (AppSettings.UseWebApi) { using (HttpClient client = new HttpClient()) { var orphanRepo = new OrphanHttpRepository(client); var parameters = new OrphanParametes { PageNumber = 1, PageSize = 1000 }; var response = await orphanRepo.GetOrphansAsync(parameters); data = response.Orphans.AsEnumerable(); } } else { data = await OrphanDataService.AllOrphans(); using (HttpClient client = new HttpClient()) { var orphanRepo = new PictureHttpRepository(client); var picUrls = await orphanRepo.GetOrphanPicUrls(); foreach (var item in picUrls) { var orphan = data.FirstOrDefault(x => x.OrphanID == item.OrphanID); if (orphan != null) { orphan.ProfilePicUri = item.PicUrl; } } } } //var data = await SampleDataService.GetMasterDetailDataAsync(); //var data = await OrphanDataService.AllOrphans(); foreach (var item in data) { //SampleItems.Add(item); OrphanItems.Add(item); } if (MasterDetailsViewControl.ViewState == MasterDetailsViewState.Both) { Selected = OrphanItems.FirstOrDefault(); LoadNarrationItems(); } }