public async Task HandleAsync(RoleGranted @event)
        {
            var user = await repository.FindAsync(@event.UserId);

            user.GrantRole(@event.Role);
            await repository.Update(user);
        }
        public async Task HandleAsync(RoleGranted @event)
        {
            var user = await db.Users.SingleOrDefaultAsync(x => x.Id == @event.UserId);

            if (user == null)
            {
                throw new EntityDoesNotExist(@event.UserId, nameof(Models.User));
            }

            user.Role = @event.Role;
            await db.SaveChangesAsync();
        }