From b71cfae6c93497be272f7580fa6276af31633c79 Mon Sep 17 00:00:00 2001 From: DeepnaPooja Date: Thu, 3 Sep 2026 13:27:00 +0530 Subject: [PATCH] Fix delivery task stock check --- .../Features/DeliveryRide/DeliveryTaskService.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Distribution/Features/DeliveryRide/DeliveryTaskService.cs b/Distribution/Features/DeliveryRide/DeliveryTaskService.cs index f31ae5a..8d589d6 100644 --- a/Distribution/Features/DeliveryRide/DeliveryTaskService.cs +++ b/Distribution/Features/DeliveryRide/DeliveryTaskService.cs @@ -159,13 +159,15 @@ public class DeliveryTaskService( { foreach (var item in task.Order.OrderItems.Where(i => i.QuantityFulfilled > 0)) { - var vehicleBalance = await stockRepo.GetBalanceAsync(item.FK_ItemId, vehicleId) - ?? throw new InvalidOperationException($"No vehicle stock found for item {item.FK_ItemId}"); + var vehicleBalance = await stockRepo.GetBalanceAsync(item.FK_ItemId, vehicleId); + var availableQuantity = vehicleBalance?.Quantity ?? 0; + var itemName = item.Item?.Name ?? item.FK_ItemId.ToString(); - if (vehicleBalance.Quantity < item.QuantityFulfilled) - throw new InvalidOperationException($"Insufficient vehicle stock for item {item.FK_ItemId}"); + if (availableQuantity < item.QuantityFulfilled) + throw new InvalidOperationException( + $"Insufficient vehicle stock for item '{itemName}': available {availableQuantity}, required {item.QuantityFulfilled}"); - vehicleBalance.Quantity -= item.QuantityFulfilled; + vehicleBalance!.Quantity -= item.QuantityFulfilled; vehicleBalance.UpdatedAt = DateTime.Now; stockRepo.UpdateBalance(vehicleBalance);