diff --git a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/AssignedSite.cs b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/AssignedSite.cs index 7cf8d821..3eb2a946 100644 --- a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/AssignedSite.cs +++ b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/AssignedSite.cs @@ -56,6 +56,7 @@ public class AssignedSite public int SaturdayBreakMinutesUpperLimit { get; set; } public int SundayBreakMinutesUpperLimit { get; set; } public bool UseOneMinuteIntervals { get; set; } + public bool OverMidnight { get; set; } public bool AllowAcceptOfPlannedHours { get; set; } public bool AllowEditOfRegistrations { get; set; } public bool AllowPersonalTimeRegistration { get; set; } @@ -228,6 +229,7 @@ public static implicit operator AssignedSite( SaturdayBreakMinutesUpperLimit = model.SaturdayBreakMinutesUpperLimit, SundayBreakMinutesUpperLimit = model.SundayBreakMinutesUpperLimit, UseOneMinuteIntervals = model.UseOneMinuteIntervals, + OverMidnight = model.OverMidnight, AllowAcceptOfPlannedHours = model.AllowAcceptOfPlannedHours, AllowEditOfRegistrations = model.AllowEditOfRegistrations, AllowPersonalTimeRegistration = model.AllowPersonalTimeRegistration, diff --git a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/Site.cs b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/Site.cs index 0c836905..3dc5d27e 100644 --- a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/Site.cs +++ b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/Site.cs @@ -29,4 +29,5 @@ public class Site public DateTime ResignedAtDate { get; set; } public string? PhoneNumber { get; set; } public bool UseOneMinuteIntervals { get; set; } + public bool OverMidnight { get; set; } } \ No newline at end of file diff --git a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Protos/settings.proto b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Protos/settings.proto index 608dc8d4..79294b13 100644 --- a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Protos/settings.proto +++ b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Protos/settings.proto @@ -210,6 +210,7 @@ message AssignedSite { AutoBreakSettings auto_break_settings = 161; bool enforce_end_of_shift_before_allow_registration = 162; + bool over_midnight = 163; } // Matches C# Site model @@ -237,6 +238,7 @@ message Site { google.protobuf.Timestamp resigned_at_date = 21; string phone_number = 22; bool use_one_minute_intervals = 23; + bool over_midnight = 24; } // Response wrappers matching C# OperationDataResult diff --git a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/GrpcServices/TimePlanningSettingsGrpcService.cs b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/GrpcServices/TimePlanningSettingsGrpcService.cs index fa9d8456..8169b3a9 100644 --- a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/GrpcServices/TimePlanningSettingsGrpcService.cs +++ b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/GrpcServices/TimePlanningSettingsGrpcService.cs @@ -86,6 +86,7 @@ public override async Task GetAssignedSite( SaturdayBreakMinutesUpperLimit = m.SaturdayBreakMinutesUpperLimit, SundayBreakMinutesUpperLimit = m.SundayBreakMinutesUpperLimit, UseOneMinuteIntervals = m.UseOneMinuteIntervals, + OverMidnight = m.OverMidnight, AllowAcceptOfPlannedHours = m.AllowAcceptOfPlannedHours, AllowEditOfRegistrations = m.AllowEditOfRegistrations, AllowPersonalTimeRegistration = m.AllowPersonalTimeRegistration, @@ -267,6 +268,7 @@ public override async Task GetRegistrationSites( DateTime.SpecifyKind(site.ResignedAtDate, DateTimeKind.Utc)), PhoneNumber = site.PhoneNumber ?? "", UseOneMinuteIntervals = site.UseOneMinuteIntervals, + OverMidnight = site.OverMidnight, }; response.Model.Add(grpcSite); } @@ -320,6 +322,7 @@ public override async Task GetRegistrationSitesByC DateTime.SpecifyKind(site.ResignedAtDate, DateTimeKind.Utc)), PhoneNumber = site.PhoneNumber ?? "", UseOneMinuteIntervals = site.UseOneMinuteIntervals, + OverMidnight = site.OverMidnight, }; response.Model.Add(grpcSite); } diff --git a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningSettingService/TimeSettingService.cs b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningSettingService/TimeSettingService.cs index 642a589e..270d47d4 100644 --- a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningSettingService/TimeSettingService.cs +++ b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningSettingService/TimeSettingService.cs @@ -312,7 +312,8 @@ planRegistrationForToday is Resigned = assignedSite.Resigned, ResignedAtDate = assignedSite.ResignedAtDate, SnapshotEnabled = assignedSite.SnapshotEnabled, - UseOneMinuteIntervals = assignedSite.UseOneMinuteIntervals + UseOneMinuteIntervals = assignedSite.UseOneMinuteIntervals, + OverMidnight = assignedSite.OverMidnight }; var workerEmail = (worker.Email ?? "").Trim().ToLower(); var user = baseDbContext == null || string.IsNullOrEmpty(workerEmail) ? null : await baseDbContext.Users @@ -619,7 +620,8 @@ planRegistrationForToday is Resigned = assignedSite.Resigned, ResignedAtDate = assignedSite.ResignedAtDate, SnapshotEnabled = assignedSite.SnapshotEnabled, - UseOneMinuteIntervals = assignedSite.UseOneMinuteIntervals + UseOneMinuteIntervals = assignedSite.UseOneMinuteIntervals, + OverMidnight = assignedSite.OverMidnight }; var workerEmail = (worker.Email ?? "").Trim().ToLower(); var user = baseDbContext == null || string.IsNullOrEmpty(workerEmail) ? null : await baseDbContext.Users @@ -895,6 +897,7 @@ planRegistrationForToday is Resigned = assignedSite.Resigned, ResignedAtDate = assignedSite.ResignedAtDate, UseOneMinuteIntervals = assignedSite.UseOneMinuteIntervals, + OverMidnight = assignedSite.OverMidnight, }; var workerEmail = (worker.Email ?? "").Trim().ToLower(); var user = baseDbContext == null || string.IsNullOrEmpty(workerEmail) ? null : await baseDbContext.Users diff --git a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/TimePlanning.Pn.csproj b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/TimePlanning.Pn.csproj index 9eea9ac6..71f16771 100644 --- a/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/TimePlanning.Pn.csproj +++ b/eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/TimePlanning.Pn.csproj @@ -33,7 +33,7 @@ - +