Ejemplo n.º 1
0
        private void SMSG_NEW_WORLD(BinaryReader br, string filename, UInt32 count)
        {
            UInt32 mapid = br.ReadUInt32();
            if (mapid == this.opcode)
            {
                resultList rl = new resultList();
                rl.filepatch = filename;
                rl.line = count;
                rl.opcode = this.opcode;
                this.opcodelist.Add(rl);
                this.counter++;
                if (listView1.InvokeRequired)
                    listView1.BeginInvoke(new Action(() => listView1.Items.Add(new ListViewItem(new string[] { rl.filepatch, rl.line.ToString() }))));
                else
                    listView1.Items.Add(new ListViewItem(new string[] { rl.filepatch, rl.line.ToString() }));

                if (listView1.InvokeRequired)
                    listView1.BeginInvoke(new Action(() => listView1.Refresh()));
                else
                    listView1.Refresh();
            }
        }
Ejemplo n.º 2
0
        void Map(resultList deal, UpGradeOrder order, DataDetail detail)
        {
            order.HytOrderDealer = new HytOrderDealerInfo();

            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick     = deal.shipName,
                MallOrderId   = deal.sn.ToString(),// deal.orderId.ToString(),
                SN            = deal.sn.ToString(),
                BuyerMessage  = string.Empty,
                SellerMessage = string.Empty
            };

            if (detail.orderItemList != null)
            {
                //var item = deal.orderItemList.Select(item => item.name == haidai.data.orderItemList.Select(i=> i.name==item.name).First().Equals);



                order.UpGradeOrderItems = new List <UpGradeOrderItem>();
                //订单明细列表
                foreach (var item in detail.orderItemList)
                {
                    var    orderItem   = new UpGradeOrderItem();
                    string productCode = item.psn;
                    if (item.psn.Contains('-'))
                    {
                        productCode = item.psn.Split('-')[0];
                    }

                    orderItem.MallProductCode   = productCode;
                    orderItem.HytProductErpCode = productCode;
                    orderItem.MallProductName   = item.name;
                    orderItem.MallProductAttrId = string.Empty;
                    orderItem.MallProductAttrs  = string.Empty;
                    orderItem.OrderId           = deal.orderId.ToString();
                    orderItem.MallPrice         = item.supplyPrice / item.totalNum;
                    orderItem.HytPrice          = orderItem.MallPrice;         //单价
                    orderItem.MallAmount        = item.supplyPrice * item.num; //供货价*数量
                    orderItem.Quantity          = item.totalNum;               // item.num*int.Parse(item.specName.ToCharArray()[0].ToString()),
                    orderItem.DiscountFee       = 0;
                    orderItem.MallOrderItemId   = item.itemId.ToString();
                    orderItem.SN = deal.sn;
                    var _item = order.UpGradeOrderItems.Where(x => x.MallProductCode == productCode).FirstOrDefault();
                    if (_item != null)
                    {
                        orderItem.Quantity   = orderItem.Quantity + _item.Quantity;
                        orderItem.MallAmount = _item.MallAmount + orderItem.MallAmount;
                        order.UpGradeOrderItems.Remove(_item);
                    }

                    order.UpGradeOrderItems.Add(orderItem);
                }


                //order.UpGradeOrderItems = deal.orderItemList.Select(item => new UpGradeOrderItem
                //{
                //    MallProductCode = haidai.orderItemList.Where(i => i.name == item.name).First().psn.Split('-').Length > 1 ? haidai.orderItemList.Where(i => i.name == item.name).First().psn.Split('-')[0] : haidai.orderItemList.Where(i => i.name == item.name).First().psn,
                //    HytProductErpCode = haidai.orderItemList.Where(i => i.name == item.name).First().psn.Split('-').Length > 1 ? haidai.orderItemList.Where(i => i.name == item.name).First().psn.Split('-')[0] : haidai.orderItemList.Where(i => i.name == item.name).First().psn,
                //    MallProductName = item.name,
                //    MallProductAttrId = string.Empty,
                //    MallProductAttrs = string.Empty,
                //    OrderId = deal.orderId.ToString(),
                //    MallPrice = item.supplyPrice ,
                //    MallAmount = item.supplyPrice,
                //    Quantity =item.totalNum,// item.num*int.Parse(item.specName.ToCharArray()[0].ToString()),
                //    DiscountFee = 0,
                //    MallOrderItemId = item.itemId.ToString(),
                //    SN = deal.sn,
                //}).ToList();
            }

            //第三方订单交易信息
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                TotalTaxAmount = deal.tax,
                Payment        = deal.goodsCost,
                AlipayNo       = string.Empty,
                PostFee        = decimal.Parse(deal.shipMoney ?? "0"),
                DiscountFee    = 0,
                PayTime        = DateTime.Parse(deal.paySuccessTime)
            };

            #region 当明细金额合计与实收金额不等时,将差额分摊到最后一个商品上

            //if ((order.MallOrderPayment.Payment - order.MallOrderPayment.PostFee) != order.UpGradeOrderItems.Sum(i => i.MallAmount))
            //{
            //    var _amt = 0m;
            //    var _count = 0;
            //    foreach (var item in order.UpGradeOrderItems)
            //    {
            //        _count++;
            //        if (_count == order.UpGradeOrderItems.Count)
            //        {
            //            item.MallAmount = (order.MallOrderPayment.Payment - order.MallOrderPayment.PostFee) - _amt;
            //            break;
            //        }
            //        _amt += item.MallAmount;
            //    }
            //}

            #endregion

            //订单收货信息
            order.MallOrderReceive = new MallOrderReceiveInfo()
            {
                City           = detail.city,
                Province       = detail.province,
                District       = detail.region,
                ReceiveAddress = detail.shipAddr,
                ReceiveContact = detail.shipName,
                TelPhone       = string.Empty,
                Mobile         = detail.shipMobile,
                PostCode       = string.Empty,
                IdCard         = detail.idNumber
            };
        }