check null in save order for discount and foc item
This commit is contained in:
parent
794086917b
commit
56bbcdfa04
|
|
@ -121,33 +121,39 @@ public class OrderService : IOrderService
|
|||
|
||||
request.FocValue = 0;
|
||||
|
||||
promotions.Add(new SaveOrderPromotionRequest()
|
||||
if(dicountItem!= null)
|
||||
{
|
||||
OrderId = isUpdate ? existingOrder.OrderId : 0,
|
||||
MaterialId = materialsByCode[dicountItem.MaterialCode].MaterialId,
|
||||
PromotionCode =request.DiscountCode ,
|
||||
DiscountPercentage = dicountItem.DiscountPercentage,
|
||||
DiscountValue = dicountItem.DiscountAmount,
|
||||
ForQuantity = dicountItem.PromoQuantity,
|
||||
OrderFocQty = 0,
|
||||
ValidatedFocQty = 0,
|
||||
ApprovedFocQty = 0,
|
||||
PromotionType = 1,
|
||||
});
|
||||
|
||||
promotions.Add(new SaveOrderPromotionRequest()
|
||||
promotions.Add(new SaveOrderPromotionRequest()
|
||||
{
|
||||
OrderId = isUpdate ? existingOrder.OrderId : 0,
|
||||
MaterialId = materialsByCode[dicountItem.MaterialCode].MaterialId,
|
||||
PromotionCode = request.DiscountCode,
|
||||
DiscountPercentage = dicountItem.DiscountPercentage,
|
||||
DiscountValue = dicountItem.DiscountAmount,
|
||||
ForQuantity = dicountItem.PromoQuantity,
|
||||
OrderFocQty = 0,
|
||||
ValidatedFocQty = 0,
|
||||
ApprovedFocQty = 0,
|
||||
PromotionType = 1,
|
||||
});
|
||||
}
|
||||
|
||||
if(focItem != null)
|
||||
{
|
||||
OrderId = isUpdate ? existingOrder.OrderId : 0,
|
||||
MaterialId = materialsByCode[focItem.MaterialCode].MaterialId,
|
||||
PromotionCode = request.FocCode,
|
||||
DiscountPercentage = 0,
|
||||
DiscountValue = 0,
|
||||
ForQuantity = focItem.PromoQuantity,
|
||||
OrderFocQty = (request.OrderStatus == OrderStatusEnum.Draft || request.OrderStatus == OrderStatusEnum.InOrderValidation) ? focItem.OrderQuantity : 0,
|
||||
ValidatedFocQty = (request.OrderStatus == OrderStatusEnum.CancelledByValidator || request.OrderStatus == OrderStatusEnum.InOrderApproval) ? focItem.OrderQuantity : 0,
|
||||
ApprovedFocQty = (request.OrderStatus == OrderStatusEnum.CancelledByApprover || request.OrderStatus == OrderStatusEnum.Approved) ? focItem.OrderQuantity : 0,
|
||||
PromotionType = 2,
|
||||
});
|
||||
promotions.Add(new SaveOrderPromotionRequest()
|
||||
{
|
||||
OrderId = isUpdate ? existingOrder.OrderId : 0,
|
||||
MaterialId = materialsByCode[focItem.MaterialCode].MaterialId,
|
||||
PromotionCode = request.FocCode,
|
||||
DiscountPercentage = 0,
|
||||
DiscountValue = 0,
|
||||
ForQuantity = focItem.PromoQuantity,
|
||||
OrderFocQty = (request.OrderStatus == OrderStatusEnum.Draft || request.OrderStatus == OrderStatusEnum.InOrderValidation) ? focItem.OrderQuantity : 0,
|
||||
ValidatedFocQty = (request.OrderStatus == OrderStatusEnum.CancelledByValidator || request.OrderStatus == OrderStatusEnum.InOrderApproval) ? focItem.OrderQuantity : 0,
|
||||
ApprovedFocQty = (request.OrderStatus == OrderStatusEnum.CancelledByApprover || request.OrderStatus == OrderStatusEnum.Approved) ? focItem.OrderQuantity : 0,
|
||||
PromotionType = 2,
|
||||
});
|
||||
}
|
||||
|
||||
// 5. Insert or update
|
||||
int orderId;
|
||||
|
|
@ -629,6 +635,7 @@ public class OrderService : IOrderService
|
|||
SqlHelperExtension.CreateInParam(pName: "@NetValue", pType: SqlDbType.Decimal, pValue: request.NetValue),
|
||||
SqlHelperExtension.CreateInParam(pName: "@OrderStatus", pType: SqlDbType.Int, pValue: (int)request.OrderStatus),
|
||||
SqlHelperExtension.CreateInParam(pName: "@SapRefferenceOrderNo", pType: SqlDbType.NVarChar, pValue: null),
|
||||
SqlHelperExtension.CreateInParam(pName: "@UserId", pType: SqlDbType.Int, pValue: userId),
|
||||
itemsParam,
|
||||
promotionsParam
|
||||
];
|
||||
|
|
@ -677,6 +684,7 @@ public class OrderService : IOrderService
|
|||
SqlHelperExtension.CreateInParam(pName: "@FOCValue", pType: SqlDbType.Decimal, pValue: request.FocCode),
|
||||
SqlHelperExtension.CreateInParam(pName: "@NetValue", pType: SqlDbType.Decimal, pValue: request.NetValue),
|
||||
SqlHelperExtension.CreateInParam(pName: "@OrderStatus", pType: SqlDbType.Int, pValue: (int)request.OrderStatus),
|
||||
SqlHelperExtension.CreateInParam(pName: "@UserId", pType: SqlDbType.Int, pValue: userId),
|
||||
itemsParam,
|
||||
promotionsParam
|
||||
];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user