This commit is contained in:
Adam 2024-08-19 23:34:34 +02:00
commit a3a2106be9
2 changed files with 12 additions and 11 deletions

View File

@ -8,13 +8,14 @@ namespace TIAM.Models.PageViewModels;
public class DriverManageTransfersPageModel : AcPageViewModelBase
{
private readonly object _forLock = new();
private const int AppointmentWaitingHours = 3;
public int UnreadedMessagesCount { get; set; }
public List<Transfer> Transfers { get; set; } = [];
private readonly List<Transfer> _upcomings = [];
private readonly List<Transfer> _problems = [];
/// <summary>
/// Value set on the client side!
@ -29,7 +30,9 @@ public class DriverManageTransfersPageModel : AcPageViewModelBase
if (_upcomings.Count > 0) return _upcomings;
var localNow = DateTime.Now;
_upcomings.AddRange(Transfers.Where(x => x.Appointment >= localNow));
var localNowSubstractWaitingHour = localNow.AddHours(-1 * AppointmentWaitingHours);
_upcomings.AddRange(Transfers.Where(x => x.Appointment >= localNowSubstractWaitingHour));
}
return _upcomings;
@ -49,9 +52,9 @@ public class DriverManageTransfersPageModel : AcPageViewModelBase
if (_problems.Count > 0) return _problems;
var localNow = DateTime.Now;
var localNowAddedThreeHour = localNow.AddHours(3);
var localNowAddedWaitingHour = localNow.AddHours(AppointmentWaitingHours);
_problems.AddRange(Transfers.Where(x => x.Appointment < localNowAddedThreeHour && x.TransferStatusType != TransferStatusType.Finished));
_problems.AddRange(Transfers.Where(x => x.Appointment < localNowAddedWaitingHour && x.TransferStatusType != TransferStatusType.Finished));
}
return _problems;

View File

@ -387,28 +387,26 @@
{
_logger = new LoggerClient<DriverManageTransfers>(LogWriters.ToArray());
InitializePage(DriverId);
InitializePageAsync(DriverId).Forget();
await base.OnInitializedAsync();
}
private void InitializePage(Guid driverId2)
private Task InitializePageAsync(Guid driverId2)
{
AdminSignalRClient.GetByIdAsync<DriverManageTransfersPageModel>(SignalRTags.GetDriverManageTransfersPageModelByDriverId, response=>
return AdminSignalRClient.GetByIdAsync<DriverManageTransfersPageModel>(SignalRTags.GetDriverManageTransfersPageModelByDriverId, response =>
{
if (response.Status == SignalResponseStatus.Error || response.ResponseData == null)
{
_logger.Error("response.Status == SignalResponseStatus.Error || response.ResponseData == null");
return Task.CompletedTask;
}
else PageModel.Initialize(response.ResponseData);
PageModel.Initialize(response.ResponseData);
InitializeAppointments(PageModel.Transfers);
StateHasChanged();
return Task.CompletedTask;
}, driverId2).Forget();
}, driverId2);
}
private void GroupTransfers(List<Transfer> transferDataList)