private void TrySetNotification() { var(hasData, dateAndTime) = localTodo.GetCombinedDateTime(true); if (hasData && localTodo.HasNotification) { var truncatedBody = $"{localTodo.Body.Truncate(Config.ST.NotificationBodyLength)}..."; var notificationId = RandomUtilities.GetRandomInt(1, Config.ST.NotificationMaxRandom); var exactDateAndTime = dateAndTime.date + dateAndTime.time; CrossLocalNotifications.Current.Show(localTodo.Title, truncatedBody, notificationId, exactDateAndTime); localTodo.NotificationId = notificationId; } else if (!localTodo.HasNotification) { CrossLocalNotifications.Current.Cancel(localTodo.NotificationId); } }