In my application I have an administrator who can create Tournament objects. When the object is created the service also creates a user (based on the tournament director’s info which was entered at creation). The username for the user is the director’s e-mail, the password is randomly generated and then mailed to the director.
When the director logs on with his e-mail address and password, I need to be able to link him to his own tournament, in order to only allow him to edit his own tournament’s details. I have tried to find a way to store the TournamentId in the default ASP Net Users database, but was unsuccessful.
I had a look at this SO question which would certainly help me, but I can’t figure out how it would apply to my problem. When the user logs on, I can’t put the TournamentId in the userdata seeing as I don’t know it.
Should I then do a lookup in the Tournament table to see which ID corresponds to the email address entered at login and store that in the userData? It seems quite unelegant this way.
I guess you should have a CreatedBy column in your Tournament table where you store the ID of the user who created the tournament. Then when the user logged in, get his id ( may be from session ,if you store it there), Do a select query
where CreatedBy=loggedInUserId.That should do the trick.