public async Task<BuildIt.Web.Models.Results.HubRegistrationResult> RegisterPushAsync(PushRegistration pushRegistration)
{
if (endpointRouteDetails?.BaseServiceUrl == null) return null;
BuildIt.Web.Models.Results.HubRegistrationResult hubRegistrationResult = null;
try
{
var json = JsonConvert.SerializeObject(pushRegistration);
using (var client = new HttpClient())
{
var request = new HttpRequestMessage(HttpMethod.Post, $"{endpointRouteDetails.BaseServiceUrl}/{endpointRouteDetails.ServiceAffix}/{endpointRouteDetails.RegisterPushRoute}");
request.Content = new StringContent(json);
request.Content.Headers.ContentType = new MediaTypeHeaderValue(Constants.JsonMimeType);
if (IsMobileService) request.Content.Headers.Add("ZUMO-API-VERSION", "2.0.0");
var response = await client.SendAsync(request);
if (response.IsSuccessStatusCode)
{
var contentJson = await response.Content.ReadAsStringAsync();
hubRegistrationResult = JsonConvert.DeserializeObject<BuildIt.Web.Models.Results.HubRegistrationResult>(contentJson);
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
return hubRegistrationResult;
}