private bool ModifyForOrder(List <OrderPayoff> orderPayoffList, decimal paymentMoney, decimal needChangePay) { //填充Order Order order = new Order(); order.OrderID = m_SalesOrder.order.OrderID; order.TotalSellPrice = m_TotalPrice; order.ActualSellPrice = m_ActualPayMoney; order.DiscountPrice = m_Discount; order.CutOffPrice = m_CutOff; order.ServiceFee = m_ServiceFee; order.PaymentMoney = paymentMoney; order.NeedChangePay = needChangePay; order.EmployeeID = ConstantValuePool.CurrentEmployee.EmployeeID; //填充OrderDetails\OrderDiscount List <OrderDetails> orderDetailsList = new List <OrderDetails>(); List <OrderDiscount> orderDiscountList = new List <OrderDiscount>(); for (int i = 0; i < dgvGoodsOrder.RowCount; i++) { Discount itemDiscount = dgvGoodsOrder.Rows[i].Cells["GoodsDiscount"].Tag as Discount; if (itemDiscount != null) { decimal itemDiscountPrice = Convert.ToDecimal(dgvGoodsOrder.Rows[i].Cells["GoodsDiscount"].Value); OrderDetails orderDetails = CopyExtension.Clone <OrderDetails>(m_SalesOrder.orderDetailsList[i]); orderDetails.TotalDiscount = itemDiscountPrice; orderDetailsList.Add(orderDetails); //OrderDiscount OrderDiscount orderDiscount = new OrderDiscount(); orderDiscount.OrderDiscountID = Guid.NewGuid(); orderDiscount.OrderID = m_SalesOrder.order.OrderID; orderDiscount.OrderDetailsID = orderDetails.OrderDetailsID; orderDiscount.DiscountID = itemDiscount.DiscountID; orderDiscount.DiscountName = itemDiscount.DiscountName; orderDiscount.DiscountType = itemDiscount.DiscountType; orderDiscount.DiscountRate = itemDiscount.DiscountRate; orderDiscount.OffFixPay = itemDiscount.OffFixPay; orderDiscount.OffPay = Math.Abs(itemDiscountPrice); orderDiscount.EmployeeID = ConstantValuePool.CurrentEmployee.EmployeeID; orderDiscountList.Add(orderDiscount); } } ModifiedPaidOrder modifiedPaidOrder = new ModifiedPaidOrder(); modifiedPaidOrder.order = order; modifiedPaidOrder.orderDetailsList = orderDetailsList; modifiedPaidOrder.orderDiscountList = orderDiscountList; modifiedPaidOrder.orderPayoffList = orderPayoffList; return(ModifyOrderService.GetInstance().ModifyForOrder(modifiedPaidOrder)); }
public static byte[] ModifyForOrder(byte[] itemBuffer) { byte[] objRet = null; string strReceive = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD, itemBuffer.Length - ParamFieldLength.PACKAGE_HEAD).Trim('\0'); ModifiedPaidOrder modifiedOrder = JsonConvert.DeserializeObject <ModifiedPaidOrder>(strReceive); bool result = ModifyOrderService.GetInstance().ModifyForOrder(modifiedOrder); if (result) { //成功 objRet = new byte[ParamFieldLength.PACKAGE_HEAD]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.SUCCEEDED), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(ParamFieldLength.PACKAGE_HEAD), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); } else { //修改账单失败 objRet = new byte[ParamFieldLength.PACKAGE_HEAD]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.ERROR_DB), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(ParamFieldLength.PACKAGE_HEAD), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); } return(objRet); }