Extend SyncService so each unsynced SQLite scan still posts to production lunch_order_transactions and upserts HRMS lunch_order, then creates matching lunch_order_item rows. Item lines are derived from SQLite MealItems (split on +); each name is resolved via lunch_menu_week → lunch_menu_item → menu_item using site, menu date, meal name, and optional item_for from grade_type, with a fallback lookup if the meal filter misses. Inserts use lunch_order_id, lunch_menu_item_id, quantity (1), price_at_order_time, item_name, and item_type from HRMS, and skips duplicates for the same order and menu item. |
||
|---|---|---|
| Converters | ||
| Data | ||
| Helpers | ||
| Models | ||
| Services | ||
| ViewModels | ||
| Views | ||
| assets | ||
| scripts | ||
| .gitignore | ||
| App.xaml | ||
| App.xaml.cs | ||
| CONFIG_FIX_SUMMARY.md | ||
| MEAL_SCHEDULE_VIEW_ONLY_CHANGES.md | ||
| MainWindow.xaml | ||
| MainWindow.xaml.cs | ||
| UtopiaCanteenSystem.csproj | ||
| UtopiaCanteenSystem.sln | ||
| appsettings.example.json | ||
| temp.txt | ||