check null in save order for discount and foc item

This commit is contained in:
dibakor 2026-07-19 10:04:03 +06:00
parent 794086917b
commit 56bbcdfa04

View File

@ -121,11 +121,13 @@ public class OrderService : IOrderService
request.FocValue = 0; request.FocValue = 0;
if(dicountItem!= null)
{
promotions.Add(new SaveOrderPromotionRequest() promotions.Add(new SaveOrderPromotionRequest()
{ {
OrderId = isUpdate ? existingOrder.OrderId : 0, OrderId = isUpdate ? existingOrder.OrderId : 0,
MaterialId = materialsByCode[dicountItem.MaterialCode].MaterialId, MaterialId = materialsByCode[dicountItem.MaterialCode].MaterialId,
PromotionCode =request.DiscountCode , PromotionCode = request.DiscountCode,
DiscountPercentage = dicountItem.DiscountPercentage, DiscountPercentage = dicountItem.DiscountPercentage,
DiscountValue = dicountItem.DiscountAmount, DiscountValue = dicountItem.DiscountAmount,
ForQuantity = dicountItem.PromoQuantity, ForQuantity = dicountItem.PromoQuantity,
@ -134,7 +136,10 @@ public class OrderService : IOrderService
ApprovedFocQty = 0, ApprovedFocQty = 0,
PromotionType = 1, PromotionType = 1,
}); });
}
if(focItem != null)
{
promotions.Add(new SaveOrderPromotionRequest() promotions.Add(new SaveOrderPromotionRequest()
{ {
OrderId = isUpdate ? existingOrder.OrderId : 0, OrderId = isUpdate ? existingOrder.OrderId : 0,
@ -148,6 +153,7 @@ public class OrderService : IOrderService
ApprovedFocQty = (request.OrderStatus == OrderStatusEnum.CancelledByApprover || request.OrderStatus == OrderStatusEnum.Approved) ? focItem.OrderQuantity : 0, ApprovedFocQty = (request.OrderStatus == OrderStatusEnum.CancelledByApprover || request.OrderStatus == OrderStatusEnum.Approved) ? focItem.OrderQuantity : 0,
PromotionType = 2, PromotionType = 2,
}); });
}
// 5. Insert or update // 5. Insert or update
int orderId; int orderId;
@ -629,6 +635,7 @@ public class OrderService : IOrderService
SqlHelperExtension.CreateInParam(pName: "@NetValue", pType: SqlDbType.Decimal, pValue: request.NetValue), SqlHelperExtension.CreateInParam(pName: "@NetValue", pType: SqlDbType.Decimal, pValue: request.NetValue),
SqlHelperExtension.CreateInParam(pName: "@OrderStatus", pType: SqlDbType.Int, pValue: (int)request.OrderStatus), SqlHelperExtension.CreateInParam(pName: "@OrderStatus", pType: SqlDbType.Int, pValue: (int)request.OrderStatus),
SqlHelperExtension.CreateInParam(pName: "@SapRefferenceOrderNo", pType: SqlDbType.NVarChar, pValue: null), SqlHelperExtension.CreateInParam(pName: "@SapRefferenceOrderNo", pType: SqlDbType.NVarChar, pValue: null),
SqlHelperExtension.CreateInParam(pName: "@UserId", pType: SqlDbType.Int, pValue: userId),
itemsParam, itemsParam,
promotionsParam promotionsParam
]; ];
@ -677,6 +684,7 @@ public class OrderService : IOrderService
SqlHelperExtension.CreateInParam(pName: "@FOCValue", pType: SqlDbType.Decimal, pValue: request.FocCode), SqlHelperExtension.CreateInParam(pName: "@FOCValue", pType: SqlDbType.Decimal, pValue: request.FocCode),
SqlHelperExtension.CreateInParam(pName: "@NetValue", pType: SqlDbType.Decimal, pValue: request.NetValue), SqlHelperExtension.CreateInParam(pName: "@NetValue", pType: SqlDbType.Decimal, pValue: request.NetValue),
SqlHelperExtension.CreateInParam(pName: "@OrderStatus", pType: SqlDbType.Int, pValue: (int)request.OrderStatus), SqlHelperExtension.CreateInParam(pName: "@OrderStatus", pType: SqlDbType.Int, pValue: (int)request.OrderStatus),
SqlHelperExtension.CreateInParam(pName: "@UserId", pType: SqlDbType.Int, pValue: userId),
itemsParam, itemsParam,
promotionsParam promotionsParam
]; ];