public async Task <T> GetTracks <T>(int ID, TrackSearchRequest search) { try { var url = $"{APIUrl}/{_route}/{ID}/Tracks"; if (search != null) { url += "?"; url += await search.ToQueryString(); } return(await url.WithBasicAuth(Username, Password).GetJsonAsync <T>()); } catch (FlurlHttpException ex) { var errors = await ex.GetResponseJsonAsync <Dictionary <string, string[]> >(); var stringBuilder = new StringBuilder(); foreach (var error in errors) { stringBuilder.AppendLine($"{error.Key}, ${string.Join(",", error.Value)}"); } await Application.Current.MainPage.DisplayAlert("Error", stringBuilder.ToString(), "OK"); return(default(T)); } }
public async Task <T> GetTracks <T>(int ID, TrackSearchRequest search) { try { var url = $"{Properties.Settings.Default.ApiUrl}/{_route}/{ID}/Tracks"; if (search != null) { url += "?"; url += await search.ToQueryString(); } return(await url.WithBasicAuth(Username, Password).GetJsonAsync <T>()); } catch (FlurlHttpException ex) { var errors = await ex.GetResponseJsonAsync <Dictionary <string, string[]> >(); var stringBuilder = new StringBuilder(); foreach (var error in errors) { stringBuilder.AppendLine($"{error.Key}, ${string.Join(",", error.Value)}"); } MessageBox.Show(stringBuilder.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(default(T)); } }