void CompleteExercise(UILocalNotification localNotification) { var exerciseName = localNotification.UserInfo[Constants.ExerciseName].ToString(); var exerciseQuantity = int.Parse(localNotification.UserInfo[Constants.ExerciseQuantity].ToString()); _data.MarkExerciseNotified(exerciseName, exerciseQuantity); _data.MarkExerciseCompleted(exerciseName, exerciseQuantity); _serviceManager.RestartNotificationService(); }
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(); }