can I limit the user to only adding each part only once so they will not be able to add it again
Yes.
How
Maintain a list of users (userid or username whatever is unique and easy for you) that has already added their part to order.
Once a user adds his part to the order, add the user to that list. Maintain the list in an application variable as it looks like spanned across multiuser. In case it's based on one session then maintain it in a session.
For Application variable:
MSDN: Application State[
^]
Try!