This repository contains a Supermarket Management Application built using C#, WPF, and SQL Server. The application is structured on the MVVM model and aims to provide a robust system for managing supermarket operations efficiently.
- ๐ฆ Products Management: Store information about products, including product name, barcode, category, and manufacturer.
- ๐ญ Manufacturers Management: Manage manufacturers' details, including name and country of origin.
- ๐ Product Categories: Support for various product categories such as food, clothing, stationery, etc.
- ๐ Stock Management: Handle product stocks with details like quantity, unit of measure, date of procurement, expiry date, purchase price, and selling price.
- ๐ค User Management: Store information about users, including username, password, and user type.
- ๐งพ Receipts Management: Manage receipts with details like the issuance date, cashier, list of sold products with quantities and subtotals, and total amount collected.
- ๐ ๏ธ CRUD Operations: Add, modify, delete, and view users, categories, manufacturers, products, and stocks. Note that data is logically deleted (becomes inactive) rather than physically removed from the database.
- ๐ฅ Stock Entry: Manual entry of purchase price; the selling price is auto-calculated based on a predefined formula.
- ๐ Price Validation: Ensure purchase prices are immutable post-entry and selling prices cannot be set below the purchase price.
- โ Form Validation: Validate all input fields in the forms for addition, modification, and deletion.
- ๐ Data Search and Reporting:
- List products by a selected manufacturer and category.
- Display the value of each product category based on current selling prices.
- View the total amount collected by a user for a selected month, broken down by day.
- Display the details of the largest receipt of the day, selected via a calendar interface.
- ๐ Product Search: Search for products by name, barcode, expiry date, manufacturer, and category.
- ๐งพ Receipt Management: Issue and view receipt details. The subtotal and total amounts are calculated at the time of display.
- Example:
2 x Mineral Water .......... 8 lei 3 x Milka Chocolate ..... 30 lei Total .............................. 38 lei
- Example:
- ๐ Immutable Receipts: Once a receipt is confirmed, it cannot be modified.
- ๐ Stock Management: Automatically manage stock quantities upon product sales. Stocks are depleted in the order they were received and marked inactive when empty or expired.
- ๐ผ๏ธ Barcode Display: Display product barcodes as images using the ZXing.Net package.
- ๐ Country API Integration: Automatically populate the country of origin for manufacturers using data from the CountriesNow API.
- ๐ป Programming Language: C#
- ๐ผ๏ธ Framework: WPF (Windows Presentation Foundation)
- ๐พ Database: SQL Server
- ๐ ๏ธ ORM: Entity Framework
- Clone the repository:
git clone https://github.com/alexandru-pestritu/WPF_Supermarket
- Open the solution file in Visual Studio.
- Update the connection string in App.config to point to your SQL Server instance.
- Build and run the application.