diff --git a/Api/OnlineSalesAutoCrop.CoreAPI.Services/Services/MobileApp/OrderService.cs b/Api/OnlineSalesAutoCrop.CoreAPI.Services/Services/MobileApp/OrderService.cs index 999811b..40c8d2d 100644 --- a/Api/OnlineSalesAutoCrop.CoreAPI.Services/Services/MobileApp/OrderService.cs +++ b/Api/OnlineSalesAutoCrop.CoreAPI.Services/Services/MobileApp/OrderService.cs @@ -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 ];