private async void RefreshAttrList() { // Vinculo el Source a la lista ListAttrPoints response = await _badgeServices.GetAttrPoints(); badgesList.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: MasterySingleton.Instance._listBasicAttrModel = response.AttrPoints; badgesList.ItemsSource = response.AttrPoints; break; } }
// GET: Metodo para obtener los puntos en cada atributo basico public async Task <ListAttrPoints> GetAttrPoints() { // Lista para guarda la respuesta del servicio //List<BasicAttrModel> DataResponse = new List<BasicAttrModel>(); ListAttrPoints DataResponse = new ListAttrPoints(); // Construyo la URI a consultar var uri = GetUserToken(Constans.GetAttrPoints, ref client); // Indico que se realiza una peticion Debug.WriteLine("Peticion GetAttrPoints"); // Hago la llamada al WS try { var response = await client.GetAsync(uri); // Guardo la respuesta del servidor DataResponse.StatusCode = response.StatusCode; // Espero una respuesta positiva del servidor (200) if (!response.IsSuccessStatusCode) { return(DataResponse); } var content = await response.Content.ReadAsStringAsync(); // listAttrPoints.AttrPoints = JsonConvert.DeserializeObject<List<BasicAttrModel>>(content); -> Alberto // Deserializo la respuesta del servidor en un Json DataResponse.AttrPoints = (JsonConvert.DeserializeObject <ListAttrPoints>(content)).AttrPoints; } catch (Exception ex) { Debug.WriteLine(@" ERROR {0}", ex.Message); Crashes.TrackError(ex); //throw new HttpExceptionEx(HttpStatusCode.BadRequest, "", false); } return(DataResponse); //listAttrPoints; }