using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common.OrderEnum; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_IInboundRepository; using WIDESEA_IInboundService; using WIDESEA_Model.Models; namespace WIDESEA_InboundService { public partial class InboundOrderDetailService : ServiceBase, IInboundOrderDetailService { public List UpdateReceiptQuantity(List inboundOrderDetails, decimal receiptQuantity) { List orderDetails = inboundOrderDetails.Where(x => x.ReceiptQuantity < x.OrderQuantity).ToList(); List updateOrderDetails = new List(); decimal quantity = receiptQuantity; for (int i = 0; i < orderDetails.Count; i++) { if (quantity > 0) { decimal residue = orderDetails[i].OrderQuantity - orderDetails[i].ReceiptQuantity; if (residue < quantity) { orderDetails[i].ReceiptQuantity = orderDetails[i].OrderQuantity; orderDetails[i].OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt(); quantity -= residue; } else { orderDetails[i].ReceiptQuantity += quantity; if (quantity == residue) orderDetails[i].OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt(); quantity = 0; } updateOrderDetails.Add(orderDetails[i]); } } return (updateOrderDetails); } public void UpdateOverInQuantity(List inboundOrderDetails, decimal overInQuantity) { } } }