I am trying to figure out how to setup the following product Matrix

Product A has different styles and sizes, each style and size have different prices.

For example Product A size small in Style B has a different price then product A size small Style C.

In addition, A retail customer can purchase Product A, style and size in two different quantities, by the bag (each bag size changes) or by the case.

If by the bag then the customer pays for shipping, if by the case, then the customer does not pay shipping at all.

As well, Distributors have a different price for Product A, and can only order by the case.

Hope this is clear