I am trying to setup an internal use asp.net core 2.0 application to check gear in and out at climbing events. The Model will go something like this:
Category.cs (like ice, mountain, etc...)
ProductType.cs (like harness, shoes, etc...many to many with Category)
ProductStyle.cs (like specific lines, all of the same brand, these are like proper names, many styles to one type)
Product.cs(a specific combo of size, color, gender of a ProductStyle, with info about total in stock as well)
and then I have:
And here is where I start to get confused. I need to be able to associate something like say, ProductStyleInstance, where a particular set of a Product Style is sent to a particular Event and then checked out to people as individual ProductInstances. So, something like:
ProductInstance.cs(a particular instance of a Product with an IsCheckedOutbool, many instances to one product)
ProductKit.cs (something like an instance of a product style that has the same products, i.e. small through large, red and blue, male and female, of that style, but that is associated to a particular event and has its own quantities of each product)
ProductInstance_Customer(mapping many to many customers to product instances, where one customer can checkout a lot of product instances and one product instance can be checked out by a lot of customers)
This is confusing to me because I need to instance both the styles and the products within the styles, or something like that.
Broad overview: there will be lots of events, and each event will have some custom to that event set of products to check out to people. But I also need to be able to keep track of the number of products of a given style of a given type on the whole in the shared inventory, while having like instanced versions of those that get sent to events, so I can track quantities of each that get sent to different events and come back.