public void TestSerializationOfLoginRemoved() { var evt = new LoginRemoved("LOGINPROVIDER", "PROVIDERKEY"); var bytes = LZ4MessagePackSerializer.Serialize <IEvent>(evt, AspnetIdentityResolver.Instance); var eventChk = LZ4MessagePackSerializer.Deserialize <IEvent>(bytes, AspnetIdentityResolver.Instance) as LoginRemoved; Assert.Equal(evt.LoginProvider, eventChk.LoginProvider); Assert.Equal(evt.ProviderKey, eventChk.ProviderKey); }
private void HandleEvent(IActorRef _, LoginRemoved evt) { var logins = user.Logins.Where(x => x.LoginProvider.Equals(evt.LoginProvider) && x.ProviderKey.Equals(evt.ProviderKey)).ToList(); foreach (var login in logins) { user.Logins.Remove(login); } if (!inSync) { return; } coordinator.Tell(new ActorMessages.UserCoordinator.NotifyUserEvent(new ActorMessages.UserCoordinator.UserLoginRemoved <TKey>(userId, new ImmutableUserLoginInfo(evt.LoginProvider, evt.ProviderKey, string.Empty)))); }
private bool TestCommand(RemoveLogin evt, out IEvent e) { e = null; if (user == null) { return(false); } if (user.Logins == null) { return(true); } var login = user.Logins.FirstOrDefault(x => x.LoginProvider.Equals(evt.LoginProvider) && x.ProviderKey.Equals(evt.ProviderKey)); if (login != default(ImmutableUserLoginInfo)) { e = new LoginRemoved(evt.LoginProvider, evt.ProviderKey); } return(true); }