About the Sample Code
I’ve always found that it’s easiest to learn about a new technology by working on a simple project that uses that technology. To that end, in this book I use the example of a hardware store inventory system.
Angus Hardware is a retail operation whose customers include local consumers, as well as contractors and construction companies. Angus sells lots of little parts, such as screws and nails, and a few big-ticket items, such as a 15 amp, 3,500 RPM compound miter saw with a carbide blade and laser guide. For its high-volume bulk items, Angus tracks inventory once a month by inspecting the bins in the store, while for more exclusive items, inventory is tracked at the cash register as a sale is completed. Angus also publishes a mail-order catalog once a quarter and offers Internet sales in addition to its retail storefront operation. All these sales channels are based on the same inventory database, and it’s very important that all the channels are kept updated with the latest list of items for sale and how many of those items are in stock.
This all makes a good demonstration of the power of XML in .NET. The hardware store needs to be able to handle a variety of different transactional scenarios: automated entry of vendors’ parts lists, updates to inventory based on point of sale transactions, manual entry of monthly inventory numbers, batch printing of reports, and online sales and fulfillment. While a relational database management system still makes the best ...