private async Task <T> SendRequest <T>(string address) where T : IResponce, new() { var responce = await StartRequest(address); if (string.IsNullOrEmpty(responce)) { return(new T() { Success = false }); } try { var responceDeserialize = await Task.Run(() => Serializer.Deserialize <T>(responce)); return(responceDeserialize); } catch { ContentDialogHelper.ShowMessage("Получены неверные данные", "Загружены ошибочные данные, пожалуйста, попробуйте снова."); return(new T() { Success = false }); } }
private async Task <string> StartRequest(string address) { string httpResponseBody = ""; using (var httpClient = new HttpClient()) { try { var httpResponse = await httpClient.GetAsync(new Uri(address)); httpResponse.EnsureSuccessStatusCode(); httpResponseBody = await httpResponse.Content.ReadAsStringAsync(); } catch { ContentDialogHelper.ShowMessage("Ошибка при получении данных", "Произошла ошибка при получении данных, пожалуйста, попробуйте еще раз."); httpResponseBody = ""; } } return(httpResponseBody); }