Exemplo n.º 1
0
        void ChangeExercise(UILocalNotification localNotification)
        {
            var exerciseName     = localNotification.UserInfo[Constants.ExerciseName].ToString();
            var exerciseQuantity = int.Parse(localNotification.UserInfo[Constants.ExerciseQuantity].ToString());

            _serviceManager.AddInstantExerciseNotificationAndRestartService(exerciseName, exerciseQuantity);
        }
        public override void DidReceiveNotificationResponse(UNUserNotificationCenter center, UNNotificationResponse response, Action completionHandler)
        {
            var exerciseName     = response?.Notification?.Request?.Content?.UserInfo[Constants.ExerciseName]?.ToString();
            var exerciseQuantity = int.Parse(response?.Notification?.Request?.Content?.UserInfo[Constants.ExerciseQuantity]?.ToString() ?? "-1");

            switch (response?.ActionIdentifier)
            {
            case Constants.CompleteId:
                _data.MarkExerciseNotified(exerciseName, exerciseQuantity);
                _data.MarkExerciseCompleted(exerciseName, exerciseQuantity);
                _serviceManager.RestartNotificationService();
                break;

            case Constants.NextId:
                _serviceManager.AddInstantExerciseNotificationAndRestartService(exerciseName, exerciseQuantity);
                break;
            }

            completionHandler();
        }