I need to build a Price Quote system on SharePoint, where people can go in to an existing website and instead of adding items to a cart (this company doesn't sell direct) they can add items to a quote, and then print the quote and take it to a dealer.

The issue is, SharePoint doesn't do Session well, and we don't want to mess with the server in any way we don't have to.

How should I best keep a concurrent list of products and accessories in a cart-like way, without using session?

3 Answers
3

Actually, if you have your session configured to be stored in SQL then it should handle session data quite well.

You could create a ShoppingCart list in SharePoint and key it by some ID (perhaps user ID if this is an authenticated site) and that list would store items for all carts but with the ID (either user or session or cookie) as the key to a specific cart.

You would need to create a few web parts for managing the items in the cart and for transforming the cart contents into a friendly and printable view.

Bear in mind that this is a very simple approach to the issue and it might not be a good fit, depending on your needs.

SharePoint isn't a good fit for shopping cart functionality. I looked into MS Commerce Server a while ago to provide thisbut MS had stopped development on it so it was too risky. However, I hear it has been picked up by a partner company and is back in development. Check it out via google! Other options would be to roll your own as a custom .net 3.5 webforms app or even an MVC app which makes webservice calls to Sharepoint to retrieve the items to display. Then also consider a 3rd party trusted payment gateway as its not practical to do this yourself

I've worked with Commerce Server on two projects and would strongly recommend against it. While it does technically "work with SharePoint" the effort required to integrate the two in any meaningful manner is substantial
–
Dave WiseApr 20 '12 at 13:57

Totally agree re. the last version I looked at. Has it moved on any do you know?
–
CiaranApr 20 '12 at 15:48

As all the code, including the shopping cart functionality, is written in .Net with accompanying source code you should be able to extract the functionality into a new SharePoint webpart or a control as part of your site masterpage.