public void Handle(PolicyUserMsgs.UserDeactivated @event) { if (_policyUsers.TryGetValue(@event.PolicyUserId, out var user)) { var policy = _policies.Lookup(user.PolicyId); if (policy.HasValue) { policy.Value.Users.Remove(user); } } }
public void Handle(PolicyUserMsgs.UserDeactivated @event) { var userId = UserByPolicyUser[@event.PolicyUserId]; var policyId = _policyByPolicyUser[@event.PolicyUserId]; if (UsersByPolicy.TryGetValue(policyId, out var users)) { users.Remove(userId); } if (PoliciesByUser.TryGetValue(userId, out var policies)) { policies.Remove(policyId); } if (PolicyUsersByUserId.TryGetValue(userId, out policies)) { policies.Remove(policyId); } }