public void ToMessage() { var translator = new NotificationRegistrationConverter(); var id = NotificationId.Create(typeof(InteractionExtensionsTest.IMockNotificationSetWithTypedEventHandler).GetEvent("OnMyEvent")); var data = new NotificationRegistrationData { Id = new MessageId(), InResponseTo = new MessageId(), Sender = new EndpointId("a"), NotificationId = NotificationIdExtensions.Serialize(id), }; var msg = translator.ToMessage(data); Assert.IsInstanceOf(typeof(RegisterForNotificationMessage), msg); Assert.AreSame(data.Id, msg.Id); Assert.AreSame(data.Sender, msg.Sender); Assert.AreEqual(id, ((RegisterForNotificationMessage)msg).Notification); }
public Task <int> Handle(NotificationRegistrationDataCommand request, CancellationToken cancellationToken) { var existingRegistration = _context.NotificationRegistrationData .FirstOrDefault(data => data.ObserverId == request.ObserverId && data.ChannelName == request.ChannelName); if (existingRegistration != null) { existingRegistration.Token = request.Token; } else { var notificationReg = new NotificationRegistrationData { ObserverId = request.ObserverId, ChannelName = request.ChannelName, Token = request.Token }; _context.NotificationRegistrationData.Add(notificationReg); } return(_context.SaveChangesAsync(cancellationToken)); }