public async Task RegisterTokenWithServer() { try { //#if DEBUG // Settings.PushNotificationToken = "testToken"; //#endif if (string.IsNullOrWhiteSpace(Settings.Email) || string.IsNullOrWhiteSpace(Settings.PushNotificationToken) || string.IsNullOrWhiteSpace(Settings.PnsHandle)) { return; } var currentDevicesResponse = await Api.GetCustNotificationDevice(Api.GetCustomerContext()); var token = Settings.PushNotificationToken; var sameDevice = currentDevicesResponse.Data.FirstOrDefault(p => p.DeviceId.Equals(token)); if (sameDevice != null) { if (sameDevice.RecId.GetValueOrDefault() > 0) { await Api.UpdateCustNotificationDevice(new UpdateDeleteCustNotificationDeviceContext { RecId = sameDevice.RecId, TimeStamp = DateTimeOffset.Now, PnsHandle = Settings.PnsHandle, RegistrationId = Settings.RegistrationId }); return; } } var notificationDeviceContext = new CreateCustNotificationDeviceContext { Device = Settings.PushNotificationToken, CustomerInfo = Api.GetCustomerContext(), TimeStamp = DateTimeOffset.Now, UserName = Settings.Email, PnsHandle = Settings.PnsHandle, RegistrationId = Settings.RegistrationId }; await Api.CreateCustNotificationDevice(notificationDeviceContext); } catch (Exception e) { Analytics.TrackEvent("RegisterToken", new Dictionary <string, string> { { "User", Settings.Email }, { "Pass", Settings.Password } }); Crashes.TrackError(e); //await AlertService.Instance.DisplayError(e, TranslationService.Instance.Get(nameof(AppResources.PushNotificationError))); ; await AlertService.Instance.DisplayError(e, null); } }
public async Task <ApiResponseOfBoolean> CreateCustNotificationDevice(CreateCustNotificationDeviceContext context) { return(await AXClient.Instance.CreateCustNotificationDeviceAsync(context).ConfigureAwait(false)); }