private static async Task CreateAndSaveNewMessage(object Sender, DateTime?customTime = null, int triggerAfterNSec = 0) { //When creating a message MessageSQLiteModel messageSqLiteModel = new MessageSQLiteModel() { IsRead = false, MessageLink = DEFAULT_MESSAGE_LINK, TimeStamp = customTime ?? SystemTime.Now(), Title = DEFAULT_MESSAGE_TITLE }; if (!HasCreatedMessageAndNotificationToday()) { await _manager.SaveNewMessage(messageSqLiteModel); MessagingCenter.Send <object>(Sender, MessagingCenterKeys.KEY_MESSAGE_RECEIVED); NotificationsHelper.CreateNotification(NotificationsEnum.NewMessageReceived, triggerAfterNSec); SaveDateTimeToSecureStorageForKey( SecureStorageKeys.LAST_HIGH_RISK_ALERT_UTC_KEY, customTime ?? SystemTime.Now(), nameof(CreateAndSaveNewMessage)); SaveDateTimeToSecureStorageForKey( SecureStorageKeys.LAST_SENT_NOTIFICATION_UTC_KEY, customTime ?? SystemTime.Now(), nameof(CreateAndSaveNewMessage)); } }
public void CreateTestMessages() { MessageSQLiteModel messageSqLiteModel = new MessageSQLiteModel() { IsRead = false, MessageLink = "https://www.netcompany.com", TimeStamp = SystemTime.Now().Subtract(TimeSpan.FromDays(20)), Title = "Du har opholdt dig på tæt afstand af en COVID - 19 positiv" }; MessageSQLiteModel messageSqLiteModel2 = new MessageSQLiteModel() { IsRead = false, MessageLink = "https://www.netcompany.com", TimeStamp = SystemTime.Now().Subtract(TimeSpan.FromDays(15)), Title = "Du har opholdt dig på tæt afstand af en COVID - 19 positiv" }; MessageSQLiteModel messageSqLiteModel3 = new MessageSQLiteModel() { IsRead = false, MessageLink = "https://www.netcompany.com", TimeStamp = SystemTime.Now(), Title = "Du har opholdt dig på tæt afstand af en COVID - 19 positiv" }; ServiceLocator.Current.GetInstance <IMessagesManager>().SaveNewMessage(messageSqLiteModel); ServiceLocator.Current.GetInstance <IMessagesManager>().SaveNewMessage(messageSqLiteModel2); ServiceLocator.Current.GetInstance <IMessagesManager>().SaveNewMessage(messageSqLiteModel3); }
public async Task <int> SaveNewMessage(MessageSQLiteModel message) { await _syncLock.WaitAsync(); try { return(await _database.InsertAsync(message)); } finally { _syncLock.Release(); } }
public async Task MarkAsRead(MessageSQLiteModel message, bool isRead) { await _syncLock.WaitAsync(); try { message.IsRead = isRead; await _database.UpdateAsync(message); } finally { _syncLock.Release(); } }
public static async Task <int> SaveMessages(MessageSQLiteModel message) { return(await _manager.SaveNewMessage(message)); }