public async Task <IEnumerable <Guideline> > RetrieveAvailableGuidelinesAsync() { // Get the guidelines that match the clinical area. ISyncronizedAzureCrudService azureCrudService = new LocalAzureCRUDService(StaticAzureService.MobileServiceClient); // Sync data if required. if (_syncData) { await azureCrudService.SyncronizeTableAsync <Model.Azure.Guideline>(); await azureCrudService.SyncronizeTableAsync <ClinicalArea>(); } // Execute the guidelines query. var guidelinesOfAreaQuery = azureCrudService.CreateQuery <Model.Azure.Guideline>() .Where(guideline => (guideline.ClinicalAreaId == _clinicalAreaId) && (guideline.GuidelineContent != null)) .Select( guideline => new Guideline { Title = guideline.Title, Identifier = guideline.GuidelineIdentifier, Description = guideline.Description }); var guidelines = await azureCrudService.ExecuteQuery(guidelinesOfAreaQuery); return(guidelines); }
public async void OnNavigatingTo(NavigationParameters parameters) { var appUserData = parameters["userData"] as AppUserData; if (appUserData == null) { return; } ISyncronizedAzureCrudService service = new LocalAzureCRUDService(StaticAzureService.MobileServiceClient); var query = service.CreateQuery <ClinicalArea>(); var parameterisedQuery = query.WithParameters(new Dictionary <string, string> { { "select", "name,id" } }); var clinicalAreas = await service.ExecuteQuery(parameterisedQuery); foreach (var clinicalArea in clinicalAreas) { AvailableClinicalAreas.Add(new ClinicalAreaListItemViewModel(_navigationService, appUserData) { Name = clinicalArea.Name, Id = clinicalArea.Id }); } }