diff --git a/Services/EmployeeRfidTagSyncService.cs b/Services/EmployeeRfidTagSyncService.cs index 6c4fba7..baac2d6 100644 --- a/Services/EmployeeRfidTagSyncService.cs +++ b/Services/EmployeeRfidTagSyncService.cs @@ -28,7 +28,7 @@ public class EmployeeRfidTagSyncService : IEmployeeRfidTagSyncService return new EmployeeRfidTagSyncResult { Success = false, - ErrorMessage = "HRMS lookup connection string is not configured." + ErrorMessage = "MySQL connection string is not configured." }; } diff --git a/Services/MealMenuCacheSyncService.cs b/Services/MealMenuCacheSyncService.cs index 4b53cfa..1ffc0b9 100644 --- a/Services/MealMenuCacheSyncService.cs +++ b/Services/MealMenuCacheSyncService.cs @@ -27,7 +27,7 @@ public class MealMenuCacheSyncService : IMealMenuCacheSyncService return new MealMenuCacheSyncResult { Success = false, - ErrorMessage = "HRMS lookup connection string is not configured." + ErrorMessage = "MySQL connection string is not configured." }; } diff --git a/Services/SyncService.cs b/Services/SyncService.cs index c289735..36c5dc0 100644 --- a/Services/SyncService.cs +++ b/Services/SyncService.cs @@ -30,11 +30,6 @@ public class SyncService : ISyncService } var hrmsConnStr = _configService.GetHrmsLookupConnectionString(); - if (string.IsNullOrWhiteSpace(hrmsConnStr)) - { - System.Diagnostics.Debug.WriteLine("HRMS lookup connection string not configured; skipping sync (need both for lunch_order)."); - return; - } List toSync; using (var db = _dbFactory.CreateDbContext()) @@ -59,7 +54,7 @@ public class SyncService : ISyncService VALUES (@ScanTimeUtc, @SiteId, @DeviceId, @CardId, @IpAddress, UTC_TIMESTAMP(3))"; - // HRMS/local: lunch_order (GetHrmsLookupConnectionString) + // HRMS/UIND: lunch_order (HrmsLookup when set, else MySqlConnectionString) const string existsOrderSql = @" SELECT id FROM lunch_order diff --git a/ViewModels/MealSchedulesViewModel.cs b/ViewModels/MealSchedulesViewModel.cs index e3b6692..081fe37 100644 --- a/ViewModels/MealSchedulesViewModel.cs +++ b/ViewModels/MealSchedulesViewModel.cs @@ -357,7 +357,7 @@ public partial class MealSchedulesViewModel : ObservableObject ? $"{mysql.Message}{Environment.NewLine}{Environment.NewLine}{mysql.StackTrace}" : $"{ex.Message}{Environment.NewLine}{Environment.NewLine}{ex.StackTrace}"; - Message = "Could not load schedules."; + Message = "Could not load schedules from backend."; MessageBox.Show(msg, "Meal Schedules – Load Error", MessageBoxButton.OK, MessageBoxImage.Error); } finally diff --git a/ViewModels/ScannerDashboardViewModel.cs b/ViewModels/ScannerDashboardViewModel.cs index 155195e..464bbc1 100644 --- a/ViewModels/ScannerDashboardViewModel.cs +++ b/ViewModels/ScannerDashboardViewModel.cs @@ -215,22 +215,7 @@ public partial class ScannerDashboardViewModel : ObservableObject _clockTimer.Tick += (_, _) => CurrentTime = DateTime.Now.ToString("MM/dd/yyyy, hh:mm:ss tt"); _clockTimer.Start(); - // Load initial site from config. - var siteId = _configService.GetSiteId(); - if (!string.IsNullOrWhiteSpace(siteId)) - { - // Extract digits from legacy format "SITE : X"or use value directly if already numeric - if (siteId.StartsWith("SITE : ", StringComparison.OrdinalIgnoreCase)) - { - var num = siteId.Substring("SITE : ".Length).Trim(); - if (num.Length > 0 && num.All(char.IsDigit)) - SiteNumber = num; - } - else if (siteId.All(char.IsDigit)) - { - SiteNumber = siteId; - } - } + RefreshSiteFromConfig(); RefreshScannerStatus(); _ = RefreshDashboardAsync(); @@ -361,6 +346,13 @@ public partial class ScannerDashboardViewModel : ObservableObject return localDate.ToString("MMM d"); } + /// Loads SITE header from config (set on admin login). + public void RefreshSiteFromConfig() + { + SiteNumber = AdminLoginHelper.ExtractSiteDigits(_configService.GetSiteId()); + OnPropertyChanged(nameof(CurrentSiteDisplay)); + } + partial void OnSiteNumberChanged(string value) { // Numeric only: filter to digits so display stays valid.