diff --git a/Client/Pages/Index.razor.cs b/Client/Pages/Index.razor.cs index c3c113d..7b8c7e6 100644 --- a/Client/Pages/Index.razor.cs +++ b/Client/Pages/Index.razor.cs @@ -15,22 +15,17 @@ namespace ShiftScheduler.Client.Pages private List DaysInMonth { get; set; } = new(); private List Shifts { get; set; } = new(); private Dictionary SelectedSchedule { get; set; } = new(); - private int CurrentMonth { get; set; } - private int CurrentYear { get; set; } protected override async Task OnInitializedAsync() { - var (nextMonth, year) = GetNextMonthAndYear(); - CurrentMonth = nextMonth; - CurrentYear = year; + var (EditMonth, EditYear) = GetNextMonthAndYear(); - DaysInMonth = Enumerable.Range(1, DateTime.DaysInMonth(year, nextMonth)) - .Select(d => new DateTime(year, nextMonth, d)) + DaysInMonth = Enumerable.Range(1, DateTime.DaysInMonth(EditYear, EditMonth)) + .Select(d => new DateTime(EditYear, EditMonth, d)) .ToList(); Shifts = await HttpClient.GetFromJsonAsync>("api/shift/shifts") ?? new(); - // Load saved schedule for this month await LoadScheduleFromStorage(); } @@ -70,9 +65,8 @@ namespace ShiftScheduler.Client.Pages { try { - var storageKey = $"ShiftSchedule_{CurrentYear}_{CurrentMonth:D2}"; + var storageKey = $"ShiftSchedule_{EditYear}_{EditMonth:D2}"; - // Convert DateTime keys to string for JSON serialization var serializableSchedule = SelectedSchedule.ToDictionary( kvp => kvp.Key.ToString("yyyy-MM-dd"), kvp => kvp.Value @@ -83,7 +77,6 @@ namespace ShiftScheduler.Client.Pages } catch (Exception) { - // Silently fail if localStorage is not available } } @@ -91,7 +84,7 @@ namespace ShiftScheduler.Client.Pages { try { - var storageKey = $"ShiftSchedule_{CurrentYear}_{CurrentMonth:D2}"; + var storageKey = $"ShiftSchedule_{EditYear}_{EditMonth:D2}"; var json = await JSRuntime.InvokeAsync("localStorage.getItem", storageKey); if (!string.IsNullOrEmpty(json)) @@ -99,7 +92,6 @@ namespace ShiftScheduler.Client.Pages var serializableSchedule = JsonSerializer.Deserialize>(json); if (serializableSchedule != null) { - // Convert string keys back to DateTime SelectedSchedule = serializableSchedule.ToDictionary( kvp => DateTime.Parse(kvp.Key), kvp => kvp.Value @@ -109,7 +101,6 @@ namespace ShiftScheduler.Client.Pages } catch (Exception) { - // Silently fail if localStorage is not available or data is corrupted SelectedSchedule = new Dictionary(); } } diff --git a/Client/ShiftScheduler.Client.csproj b/Client/ShiftScheduler.Client.csproj index 75d9930..822d92e 100644 --- a/Client/ShiftScheduler.Client.csproj +++ b/Client/ShiftScheduler.Client.csproj @@ -1,14 +1,14 @@ - net8.0 + net9.0 enable enable - - + + diff --git a/Server/ShiftScheduler.Server.csproj b/Server/ShiftScheduler.Server.csproj index e41c03e..d35c1ba 100644 --- a/Server/ShiftScheduler.Server.csproj +++ b/Server/ShiftScheduler.Server.csproj @@ -1,13 +1,13 @@ - net8.0 + net9.0 enable enable - + diff --git a/Services/ShiftScheduler.Services.csproj b/Services/ShiftScheduler.Services.csproj index 14f5f17..ba281ba 100644 --- a/Services/ShiftScheduler.Services.csproj +++ b/Services/ShiftScheduler.Services.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 enable enable diff --git a/Shared/ShiftScheduler.Shared.csproj b/Shared/ShiftScheduler.Shared.csproj index 9a938be..46f7f7d 100644 --- a/Shared/ShiftScheduler.Shared.csproj +++ b/Shared/ShiftScheduler.Shared.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 enable enable