public static async Task <T> GetData <T>(string url, params object[] @params) { T result = (T)Activator.CreateInstance(typeof(T)); try { url = string.Format(url, @params); var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "GET"; UserApiResult user = UserApiService.GetUserLogged(); if (user != null) { httpWebRequest.Headers["Authorization"] = user.Token; } httpWebRequest.Headers["X-App-Platform"] = ((int)AppStatus.Platform).ToString(); httpWebRequest.Headers["X-App-TimeZone"] = GetTimeZone(); httpWebRequest.Headers["X-App-Registration"] = AppStatus.AppRegistration; httpWebRequest.Headers["Accept-Language"] = AppStatus.Language; WebResponse httpWebResponse = await httpWebRequest.GetResponseAsync(); var httpResponse = (HttpWebResponse)httpWebResponse; string responseBody = ""; using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { responseBody = streamReader.ReadToEnd(); } if (httpResponse.StatusCode == HttpStatusCode.OK) { result = JsonConvert.DeserializeObject <T>(responseBody); } } catch (Exception ex) { BaseApiResult errorResult = new BaseApiResult(); errorResult.Message = ex.Message + "|" + ex.StackTrace; errorResult.Error = true; result = JsonConvert.DeserializeObject <T>(JsonConvert.SerializeObject(errorResult)); } return(result); }
public static async Task <bool> RegisterPurchase(BuyIntentApiRequest request) { var result = false; var response = await HttpController.PostData <UserApiResult>(ApiMethods.RegisterPurchase(), request); if (ResponseValidator.Validate(response)) { result = true; UserApiService.SaveUserLogged(response); result = true; } return(result); }
public static async Task <UserApiResult> Arm(ArmedTrapApiRequest request) { UserApiResult result = null; try { result = await HttpController.PostData <UserApiResult>(ApiMethods.ArmTrap(), request); if (ResponseValidator.Validate(result)) { UserApiService.SaveUserLogged(result); } } catch (Exception) { result = null; } return(result); }