private async Task generateInsuranceNotification(Insurance insurance) { var notification = NotificationFactory.CreateNewInsuranceNotification( Guid.NewGuid().ToString(), "systemAccount", insurance.Data.AccountId, insurance.Data.Type, false, insurance.Data.ValidFrom, insurance.Data.ValidTo); await notifications.AddObject(notification); }
public void CreateNewInsuranceNotificationTest() { var r = GetRandom.Object <NewInsuranceNotificationData>(); r.Message = "insurance is now valid until"; var o = NotificationFactory.CreateNewInsuranceNotification(r.ID, r.SenderId, r.ReceiverId, r.InsuranceType, r.IsSeen, r.ValidFrom, r.ValidTo); Assert.IsInstanceOfType(o, typeof(NewInsuranceNotification)); testVariables(o.Data, r.ID, r.Message, r.ValidFrom, r.ValidTo, r.IsSeen, r.SenderId, r.ReceiverId); Assert.AreEqual(r.InsuranceType, o.Data.InsuranceType); }
public async Task <IActionResult> ChangeSeenStatus(string notificationId, bool?seenStatus = null) { var notification = await notifications.GetObject(notificationId); switch (notification) { case WelcomeNotification wel: var welcome = NotificationFactory.CreateWelcomeNotification(wel.Data?.ID, wel.Data?.SenderId, wel.Data?.ReceiverId, seenStatus ?? !wel.Data?.IsSeen, wel.Data?.ValidFrom, wel.Data?.ValidTo); await notifications.UpdateObject(welcome); break; case NewTransactionNotification tra: var transaction = NotificationFactory.CreateNewTransactionNotification(tra.Data?.ID, tra.Data?.SenderId, tra.Data?.ReceiverId, tra.Data?.Amount, seenStatus ?? !tra.Data?.IsSeen, tra.Data?.ValidFrom, tra.Data?.ValidTo); await notifications.UpdateObject(transaction); break; case RequestStatusNotification reqStatus: var requestStatus = NotificationFactory.CreateRequestStatusNotification(reqStatus.Data?.ID, reqStatus.Data?.SenderId, reqStatus.Data?.ReceiverId, reqStatus.Data?.Amount, reqStatus.Data?.Status ?? TransactionStatus.Pending, seenStatus ?? !reqStatus.Data?.IsSeen, reqStatus.Data?.ValidFrom, reqStatus.Data?.ValidTo); await notifications.UpdateObject(requestStatus); break; case NewRequestTransactionNotification req: var request = NotificationFactory.CreateNewRequestTransactionNotification(req.Data?.ID, req.Data?.SenderId, req.Data?.ReceiverId, req.Data?.Amount, seenStatus ?? !req.Data?.IsSeen, req.Data?.ValidFrom, req.Data?.ValidTo); await notifications.UpdateObject(request); break; case NewInsuranceNotification ins: var insurance = NotificationFactory.CreateNewInsuranceNotification( ins.Data?.ID, ins.Data?.SenderId, ins.Data?.ReceiverId, ins.Data?.InsuranceType, seenStatus ?? !ins.Data?.IsSeen, ins.Data?.ValidFrom, ins.Data?.ValidTo); await notifications.UpdateObject(insurance); break; } return(new EmptyResult()); }