BuildIt.Web.Services.NotificationService.RegisterUserAsync C# (CSharp) Method

RegisterUserAsync() private method

private RegisterUserAsync ( PushRegistration pushRegistration ) : Task
pushRegistration BuildIt.Web.Models.PushNotifications.PushRegistration
return Task
        private async Task<UserRegistrationResult> RegisterUserAsync(PushRegistration pushRegistration)
        {
            UserRegistrationResult userRegistrationResult = null;

            if (notificationHub == null) return null;

            string newRegistrationId = null;
            if (pushRegistration.Handle != null)
            {
                var registrations = await notificationHub.GetRegistrationsByChannelAsync(pushRegistration.Handle, 100);
                foreach (RegistrationDescription registration in registrations)
                {
                    if (newRegistrationId == null)
                    {
                        newRegistrationId = registration.RegistrationId;
                    }
                    else
                    {
                        await notificationHub.DeleteRegistrationAsync(registration);
                    }
                }
            }
            if (newRegistrationId == null)
            {
                var registrationId = await notificationHub.CreateRegistrationIdAsync();
                userRegistrationResult = new UserRegistrationResult() { RegistrationId = registrationId };
            }
            else
            {
                userRegistrationResult = new UserRegistrationResult() { RegistrationId = newRegistrationId };
            }
            return userRegistrationResult;
        }
    }