Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }