public Models.OperationReturnModel <bool> RegisterPushDeviceToken(PushDeviceRegistrationModel pushDeviceModel)
 {
     Models.OperationReturnModel <bool> ret = new Models.OperationReturnModel <bool>();
     try
     {
         _msgLogic.RegisterPushDevice(this.AuthenticatedUser, pushDeviceModel);
         ret.SuccessResponse = true;
     }
     catch (Exception ex)
     {
         _log.WriteErrorLog("RegisterPushDeviceToken", ex);
         ret.ErrorMessage = ex.Message;
         ret.IsSuccess    = false;
     }
     return(ret);
 }
        public bool RegisterPushDevice(UserProfile user, PushDeviceRegistrationModel deviceRegistrationModel)
        {
            UserPushNotificationDevice userPushNotificationDevice = _userPushNotificationDeviceRepository.ReadUserDevice(user.UserId, deviceRegistrationModel.DeviceId, deviceRegistrationModel.DeviceOS);

            if (userPushNotificationDevice == null)
            {
                userPushNotificationDevice = new UserPushNotificationDevice()
                {
                    DeviceOS = deviceRegistrationModel.DeviceOS,
                    DeviceId = deviceRegistrationModel.DeviceId,
                    UserId   = user.UserId
                };
            }

            userPushNotificationDevice.ProviderToken      = deviceRegistrationModel.ProviderToken;
            userPushNotificationDevice.ProviderEndpointId = _pushNotificationMessageProvider.RegisterRecipient(userPushNotificationDevice);
            userPushNotificationDevice.Enabled            = true;

            _userPushNotificationDeviceRepository.CreateOrUpdate(userPushNotificationDevice);
            _uow.SaveChanges();

            // now, to create/confirm/update the application endpoint in AWS
            return(true);
        }