public void GetSession() { RemoteDataRepository remoteData = new RemoteDataRepository(_baseUrl); SessionDto session = null; string conferenceSlug = "CodeMash-2013"; string slug = "Android-Pro-Tips"; remoteData.GetSession(conferenceSlug, slug, s => { session = s; }); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); bool gotData = false; while (session == null && stopwatch.ElapsedMilliseconds < 10000) { if (session != null) { session.slug.ShouldEqual(slug); gotData = true; } } gotData.ShouldBeTrue(); session.ShouldNotBeNull(); }
public void DetailAsync(string conferenceSlug, string sessionSlug) { var remoteData = new RemoteDataRepository(BaseUrl()); AsyncManager.OutstandingOperations.Increment(); remoteData.GetSession(conferenceSlug, sessionSlug, session => { AsyncManager.Parameters["session"] = session; AsyncManager.OutstandingOperations.Decrement(); }); }
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); var conferenceSlug = NavigationContext.QueryString["conferenceSlug"]; var sessionSlug = NavigationContext.QueryString["sessionSlug"]; string baseUrl = "http://api.tekconf.com/v1/"; var client = new RemoteDataRepository(baseUrl); client.GetSession("CodeMash-2012", sessionSlug, session => { Deployment.Current.Dispatcher.BeginInvoke(() => { DataContext = session; Loading.Visibility = Visibility.Collapsed; }); }); this.ApplicationTitle.Text = "CodeMash"; }