private async void RefreshNewsFeed() { // Hago la llamada al WS ListDetailAttr response = await _badgeServices.GetDetailCount(); ListNewsFeed.EndRefresh(); // Evaluo la respuesta del servidor switch (response.StatusCode) { case HttpStatusCode.Unauthorized: // Invoco el servicio de Logout UserServices _userServices = new UserServices(); _userServices.UserLogout(); Application.Current.MainPage = new NavigationPage(new LoginPageView()); break; case HttpStatusCode.InternalServerError: await DisplayAlert("Oooopssss", "Algo fallo en el servidor. Intentemos mas tarde ¿Vale?", "OK"); break; default: // Guardo la respuesta en el Singleton MasterySingleton.Instance._listDetailAttrModel = response.AttrDetail; ListNewsFeed.ItemsSource = response.AttrDetail; break; } }
protected override void OnAppearing() { base.OnAppearing(); Analytics.TrackEvent("NewsFeed"); if (MasterySingleton.Instance._listDetailAttrModel == null || ListNewsFeed.ItemsSource == null) { ListNewsFeed.BeginRefresh(); RefreshNewsFeed(); } // Cambio el estado de la bandera para que la View sepa que ya se hizo la carga inicial OnLoad = true; }