Example #1
0
 private void btnSubmit_Click(object sender, EventArgs e)
 {
     if (this.ValidateCreateOrder())
     {
         PurchaseOrderInfo purchaseOrderInfo = this.GetPurchaseOrderInfo();
         if (purchaseOrderInfo.PurchaseOrderItems.Count == 0)
         {
             this.ShowMsg("您暂时未选择您要添加的商品", false);
         }
         else if (SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrderInfo))
         {
             SubsiteSalesHelper.ClearPurchaseShoppingCart();
             int.Parse(this.radioPaymentMode.SelectedValue);
             PaymentModeInfo paymentMode = SubsiteStoreHelper.GetPaymentMode(int.Parse(this.radioPaymentMode.SelectedValue));
             if ((paymentMode != null) && paymentMode.Gateway.ToLower().Equals("hishop.plugins.payment.podrequest"))
             {
                 this.ShowMsg("您选择的是货到付款方式,请等待主站发货", true);
             }
             else if ((paymentMode != null) && paymentMode.Gateway.ToLower().Equals("hishop.plugins.payment.bankrequest"))
             {
                 this.ShowMsg("您选择的是线下付款方式,请与主站管理员联系", true);
             }
             else
             {
                 base.Response.Redirect(Globals.ApplicationPath + "/Shopadmin/purchaseOrder/Pay.aspx?PurchaseOrderId=" + purchaseOrderInfo.PurchaseOrderId + "&PayMode=" + this.radioPaymentMode.SelectedValue);
             }
         }
         else
         {
             this.ShowMsg("提交采购单失败", false);
         }
     }
 }
Example #2
0
 private void btnSubmit_Click(object sender, EventArgs e)
 {
     if (ValidateCreateOrder())
     {
         PurchaseOrderInfo purchaseOrderInfo = GetPurchaseOrderInfo();
         if (purchaseOrderInfo.PurchaseOrderItems.Count == 0)
         {
             ShowMsg("您暂时未选择您要添加的商品", false);
         }
         else if (SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrderInfo))
         {
             SubsiteSalesHelper.ClearPurchaseShoppingCart();
             Response.Redirect(Globals.ApplicationPath + "/Shopadmin/purchaseOrder/Pay.aspx?PurchaseOrderId=" + purchaseOrderInfo.PurchaseOrderId);
         }
         else
         {
             ShowMsg("提交采购单失败", false);
         }
     }
 }
Example #3
0
        private void ProcessPurchaseOrderAdd(System.Web.HttpContext context)
        {
            PurchaseOrderInfo purchaseOrderInfo = new PurchaseOrderInfo();
            decimal           num = 0m;

            if (string.IsNullOrEmpty(context.Request["Products"]))
            {
                context.Response.Write("{\"PurchaseOrderAddResponse\":\"-1\"}");
                return;
            }
            int num2 = int.Parse(context.Request["distributorUserId"]);

            string[] array = context.Request["Products"].Split(new char[]
            {
                ';'
            });
            string[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                string   text   = array2[i];
                string[] array3 = text.Split(new char[]
                {
                    ','
                });
                System.Data.DataTable skuContent = SubSiteProducthelper.GetSkuContent(long.Parse(array3[0]), array3[1], num2);
                if (skuContent != null && skuContent.Rows.Count > 0)
                {
                    PurchaseOrderItemInfo purchaseOrderItemInfo = new PurchaseOrderItemInfo();
                    foreach (System.Data.DataRow dataRow in skuContent.Rows)
                    {
                        if (!string.IsNullOrEmpty(dataRow["AttributeName"].ToString()) && !string.IsNullOrEmpty(dataRow["ValueStr"].ToString()))
                        {
                            PurchaseOrderItemInfo expr_124 = purchaseOrderItemInfo;
                            object sKUContent = expr_124.SKUContent;
                            expr_124.SKUContent = string.Concat(new object[]
                            {
                                sKUContent,
                                dataRow["AttributeName"],
                                ":",
                                dataRow["ValueStr"],
                                "; "
                            });
                        }
                    }
                    purchaseOrderItemInfo.PurchaseOrderId = purchaseOrderInfo.PurchaseOrderId;
                    purchaseOrderItemInfo.SkuId           = (string)skuContent.Rows[0]["SkuId"];
                    purchaseOrderItemInfo.ProductId       = (int)skuContent.Rows[0]["ProductId"];
                    if (skuContent.Rows[0]["SKU"] != System.DBNull.Value)
                    {
                        purchaseOrderItemInfo.SKU = (string)skuContent.Rows[0]["SKU"];
                    }
                    if (skuContent.Rows[0]["Weight"] != System.DBNull.Value)
                    {
                        purchaseOrderItemInfo.ItemWeight = (decimal)skuContent.Rows[0]["Weight"];
                    }
                    purchaseOrderItemInfo.ItemPurchasePrice = (decimal)skuContent.Rows[0]["PurchasePrice"];
                    purchaseOrderItemInfo.Quantity          = int.Parse(array3[2]);
                    purchaseOrderItemInfo.ItemListPrice     = (decimal)skuContent.Rows[0]["SalePrice"];
                    if (skuContent.Rows[0]["CostPrice"] != System.DBNull.Value)
                    {
                        purchaseOrderItemInfo.ItemCostPrice = (decimal)skuContent.Rows[0]["CostPrice"];
                    }
                    purchaseOrderItemInfo.ItemDescription         = (string)skuContent.Rows[0]["ProductName"];
                    purchaseOrderItemInfo.ItemHomeSiteDescription = (string)skuContent.Rows[0]["ProductName"];
                    if (skuContent.Rows[0]["ThumbnailUrl40"] != System.DBNull.Value)
                    {
                        purchaseOrderItemInfo.ThumbnailsUrl = (string)skuContent.Rows[0]["ThumbnailUrl40"];
                    }
                    num += purchaseOrderItemInfo.ItemWeight * purchaseOrderItemInfo.Quantity;
                    purchaseOrderInfo.PurchaseOrderItems.Add(purchaseOrderItemInfo);
                }
            }
            if (purchaseOrderInfo.PurchaseOrderItems.Count <= 0)
            {
                context.Response.Write("{\"PurchaseOrderAddResponse\":\"-3\"}");
                return;
            }
            purchaseOrderInfo.Weight          = num;
            purchaseOrderInfo.TaobaoOrderId   = context.Request["TaobaoOrderId"];
            purchaseOrderInfo.PurchaseOrderId = "MPO" + purchaseOrderInfo.TaobaoOrderId;
            purchaseOrderInfo.ShipTo          = context.Request["ShipTo"];
            string text2 = context.Request["ReceiverState"];
            string text3 = context.Request["ReceiverCity"];
            string text4 = context.Request["ReceiverDistrict"];

            purchaseOrderInfo.ShippingRegion = text2 + text3 + text4;
            purchaseOrderInfo.RegionId       = RegionHelper.GetRegionId(text4, text3, text2);
            purchaseOrderInfo.Address        = context.Request["Address"];
            purchaseOrderInfo.TelPhone       = context.Request["TelPhone"];
            purchaseOrderInfo.CellPhone      = context.Request["CellPhone"];
            purchaseOrderInfo.ZipCode        = context.Request["ZipCode"];
            purchaseOrderInfo.OrderTotal     = decimal.Parse(context.Request["OrderTotal"]);
            ShippingModeInfo shippingMode = ShoppingProcessor.GetShippingMode(Hidistro.Membership.Context.HiContext.Current.SiteSettings.TaobaoShippingType, true);

            if (shippingMode != null)
            {
                purchaseOrderInfo.ModeName        = shippingMode.Name;
                purchaseOrderInfo.AdjustedFreight = (purchaseOrderInfo.Freight = ShoppingProcessor.CalcFreight(purchaseOrderInfo.RegionId, num, shippingMode));
            }
            purchaseOrderInfo.PurchaseStatus = OrderStatus.WaitBuyerPay;
            purchaseOrderInfo.RefundStatus   = RefundStatus.None;
            Hidistro.Membership.Context.Distributor distributor = Hidistro.Membership.Context.Users.GetUser(num2) as Hidistro.Membership.Context.Distributor;
            if (distributor != null)
            {
                purchaseOrderInfo.DistributorId       = distributor.UserId;
                purchaseOrderInfo.Distributorname     = distributor.Username;
                purchaseOrderInfo.DistributorEmail    = distributor.Email;
                purchaseOrderInfo.DistributorRealName = distributor.RealName;
                purchaseOrderInfo.DistributorQQ       = distributor.QQ;
                purchaseOrderInfo.DistributorWangwang = distributor.Wangwang;
                purchaseOrderInfo.DistributorMSN      = distributor.MSN;
            }
            if (!SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrderInfo))
            {
                context.Response.Write("{\"PurchaseOrderAddResponse\":\"0\"}");
                return;
            }
            context.Response.Write("{\"PurchaseOrderAddResponse\":\"1\"}");
        }
Example #4
0
        private void dlstOrders_ItemCommand(object sender, System.Web.UI.WebControls.DataListCommandEventArgs e)
        {
            OrderInfo orderInfo = SubsiteSalesHelper.GetOrderInfo(e.CommandArgument.ToString());

            if (orderInfo != null)
            {
                if (e.CommandName == "CONFIRM_PAY" && orderInfo.CheckAction(OrderActions.SELLER_CONFIRM_PAY))
                {
                    int num  = 0;
                    int num2 = 0;
                    int num3 = 0;
                    if (orderInfo.CountDownBuyId > 0)
                    {
                        CountDownInfo countDownInfo = SubsitePromoteHelper.GetCountDownInfo(orderInfo.CountDownBuyId);
                        if (countDownInfo == null || countDownInfo.EndDate < System.DateTime.Now)
                        {
                            this.ShowMsg("当前的订单为限时抢购订单,此活动已结束,所以不能支付", false);
                            return;
                        }
                    }
                    if (orderInfo.GroupBuyId > 0)
                    {
                        GroupBuyInfo groupBuy = SubsitePromoteHelper.GetGroupBuy(orderInfo.GroupBuyId);
                        if (groupBuy != null)
                        {
                            if (groupBuy.Status == GroupBuyStatus.UnderWay)
                            {
                                num2 = SubsitePromoteHelper.GetOrderCount(orderInfo.GroupBuyId);
                                num  = groupBuy.MaxCount;
                                num3 = orderInfo.GetGroupBuyOerderNumber();
                                if (num < num2 + num3)
                                {
                                    this.ShowMsg("当前的订单为团购订单,订购数量已超过订购总数,所以不能支付", false);
                                    return;
                                }
                                goto IL_DB;
                            }
                        }
                        this.ShowMsg("当前的订单为团购订单,此团购活动已结束,所以不能支付", false);
                        return;
                    }
IL_DB:
                    if (SubsiteSalesHelper.ConfirmPay(orderInfo))
                    {
                        DebitNote debitNote = new DebitNote();
                        debitNote.NoteId   = Globals.GetGenerateId();
                        debitNote.OrderId  = e.CommandArgument.ToString();
                        debitNote.Operator = Hidistro.Membership.Context.HiContext.Current.User.Username;
                        debitNote.Remark   = "后台" + debitNote.Operator + "支付成功";
                        SubsiteSalesHelper.SaveDebitNote(debitNote);
                        if (orderInfo.GroupBuyId > 0 && num == num2 + num3)
                        {
                            SubsitePromoteHelper.SetGroupBuyEndUntreated(orderInfo.GroupBuyId);
                        }
                        this.BindOrders();
                        int num4 = orderInfo.UserId;
                        if (num4 == 1100)
                        {
                            num4 = 0;
                        }
                        Hidistro.Membership.Core.IUser user = Hidistro.Membership.Context.Users.GetUser(num4);
                        Messenger.OrderPayment(user, orderInfo.OrderId, orderInfo.GetTotal());
                        orderInfo.OnPayment();
                        this.ShowMsg("成功的确认了订单收款", true);
                        return;
                    }
                    this.ShowMsg("确认订单收款失败", false);
                    return;
                }
                else
                {
                    if (e.CommandName == "FINISH_TRADE" && orderInfo.CheckAction(OrderActions.SELLER_FINISH_TRADE))
                    {
                        if (SubsiteSalesHelper.ConfirmOrderFinish(orderInfo))
                        {
                            this.BindOrders();
                            this.ShowMsg("成功的完成了该订单", true);
                            return;
                        }
                        this.ShowMsg("完成订单失败", false);
                        return;
                    }
                    else
                    {
                        if (e.CommandName == "CREATE_PURCHASEORDER" && orderInfo.CheckAction(OrderActions.SUBSITE_CREATE_PURCHASEORDER))
                        {
                            if (SubsiteSalesHelper.CreatePurchaseOrder(orderInfo))
                            {
                                this.BindOrders();
                                this.ShowMsg("生成采购单成功", true);
                                return;
                            }
                            this.ShowMsg(" 生成采购单失败", false);
                        }
                    }
                }
            }
        }
Example #5
0
        private void ProcessPurchaseOrderAdd(HttpContext context)
        {
            PurchaseOrderInfo purchaseOrderInfo = new PurchaseOrderInfo();
            decimal           totalWeight       = 0M;

            if (string.IsNullOrEmpty(context.Request["Products"]))
            {
                context.Response.Write("{\"PurchaseOrderAddResponse\":\"-1\"}");
            }
            else
            {
                int distributorId = int.Parse(context.Request["distributorUserId"]);
                foreach (string str in context.Request["Products"].Split(new char[] { ';' }))
                {
                    string[]  strArray2 = str.Split(new char[] { ',' });
                    DataTable table     = SubSiteProducthelper.GetSkuContent(long.Parse(strArray2[0]), strArray2[1], distributorId);
                    if ((table != null) && (table.Rows.Count > 0))
                    {
                        PurchaseOrderItemInfo item = new PurchaseOrderItemInfo();
                        foreach (DataRow row in table.Rows)
                        {
                            if (!string.IsNullOrEmpty(row["AttributeName"].ToString()) && !string.IsNullOrEmpty(row["ValueStr"].ToString()))
                            {
                                object sKUContent = item.SKUContent;
                                item.SKUContent = string.Concat(new object[] { sKUContent, row["AttributeName"], ":", row["ValueStr"], "; " });
                            }
                        }
                        item.PurchaseOrderId = purchaseOrderInfo.PurchaseOrderId;
                        item.SkuId           = (string)table.Rows[0]["SkuId"];
                        item.ProductId       = (int)table.Rows[0]["ProductId"];
                        if (table.Rows[0]["SKU"] != DBNull.Value)
                        {
                            item.SKU = (string)table.Rows[0]["SKU"];
                        }
                        if (table.Rows[0]["Weight"] != DBNull.Value)
                        {
                            item.ItemWeight = (decimal)table.Rows[0]["Weight"];
                        }
                        item.ItemPurchasePrice = (decimal)table.Rows[0]["PurchasePrice"];
                        item.Quantity          = int.Parse(strArray2[2]);
                        item.ItemListPrice     = (decimal)table.Rows[0]["SalePrice"];
                        if (table.Rows[0]["CostPrice"] != DBNull.Value)
                        {
                            item.ItemCostPrice = (decimal)table.Rows[0]["CostPrice"];
                        }
                        item.ItemDescription         = (string)table.Rows[0]["ProductName"];
                        item.ItemHomeSiteDescription = (string)table.Rows[0]["ProductName"];
                        if (table.Rows[0]["ThumbnailUrl40"] != DBNull.Value)
                        {
                            item.ThumbnailsUrl = (string)table.Rows[0]["ThumbnailUrl40"];
                        }
                        totalWeight += item.ItemWeight * item.Quantity;
                        purchaseOrderInfo.PurchaseOrderItems.Add(item);
                    }
                }
                if (purchaseOrderInfo.PurchaseOrderItems.Count <= 0)
                {
                    context.Response.Write("{\"PurchaseOrderAddResponse\":\"-3\"}");
                }
                else
                {
                    purchaseOrderInfo.Weight          = totalWeight;
                    purchaseOrderInfo.TaobaoOrderId   = context.Request["TaobaoOrderId"];
                    purchaseOrderInfo.PurchaseOrderId = "MPO" + purchaseOrderInfo.TaobaoOrderId;
                    purchaseOrderInfo.ShipTo          = context.Request["ShipTo"];
                    string province = context.Request["ReceiverState"];
                    string city     = context.Request["ReceiverCity"];
                    string county   = context.Request["ReceiverDistrict"];
                    purchaseOrderInfo.ShippingRegion = province + city + county;
                    purchaseOrderInfo.RegionId       = RegionHelper.GetRegionId(county, city, province);
                    purchaseOrderInfo.Address        = context.Request["Address"];
                    purchaseOrderInfo.TelPhone       = context.Request["TelPhone"];
                    purchaseOrderInfo.CellPhone      = context.Request["CellPhone"];
                    purchaseOrderInfo.ZipCode        = context.Request["ZipCode"];
                    purchaseOrderInfo.OrderTotal     = decimal.Parse(context.Request["OrderTotal"]);
                    ShippingModeInfo shippingMode = ShoppingProcessor.GetShippingMode(HiContext.Current.SiteSettings.TaobaoShippingType, true);
                    if (shippingMode != null)
                    {
                        purchaseOrderInfo.ModeName        = shippingMode.Name;
                        purchaseOrderInfo.AdjustedFreight = purchaseOrderInfo.Freight = ShoppingProcessor.CalcFreight(purchaseOrderInfo.RegionId, totalWeight, shippingMode);
                    }
                    purchaseOrderInfo.PurchaseStatus = OrderStatus.WaitBuyerPay;
                    purchaseOrderInfo.RefundStatus   = RefundStatus.None;
                    Distributor user = Users.GetUser(distributorId) as Distributor;
                    if (user != null)
                    {
                        purchaseOrderInfo.DistributorId       = user.UserId;
                        purchaseOrderInfo.Distributorname     = user.Username;
                        purchaseOrderInfo.DistributorEmail    = user.Email;
                        purchaseOrderInfo.DistributorRealName = user.RealName;
                        purchaseOrderInfo.DistributorQQ       = user.QQ;
                        purchaseOrderInfo.DistributorWangwang = user.Wangwang;
                        purchaseOrderInfo.DistributorMSN      = user.MSN;
                    }
                    if (!SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrderInfo))
                    {
                        context.Response.Write("{\"PurchaseOrderAddResponse\":\"0\"}");
                    }
                    else
                    {
                        context.Response.Write("{\"PurchaseOrderAddResponse\":\"1\"}");
                    }
                }
            }
        }
Example #6
0
        private void dlstOrders_ItemCommand(object sender, DataListCommandEventArgs e)
        {
            OrderInfo orderInfo = SubsiteSalesHelper.GetOrderInfo(e.CommandArgument.ToString());

            if (orderInfo != null)
            {
                if ((e.CommandName == "CONFIRM_PAY") && orderInfo.CheckAction(OrderActions.SELLER_CONFIRM_PAY))
                {
                    int maxCount             = 0;
                    int orderCount           = 0;
                    int groupBuyOerderNumber = 0;
                    if (orderInfo.GroupBuyId > 0)
                    {
                        GroupBuyInfo groupBuy = SubsitePromoteHelper.GetGroupBuy(orderInfo.GroupBuyId);
                        if ((groupBuy == null) || (groupBuy.Status != GroupBuyStatus.UnderWay))
                        {
                            ShowMsg("当前的订单为团购订单,此团购活动已结束,所以不能支付", false);
                            return;
                        }
                        orderCount           = SubsitePromoteHelper.GetOrderCount(orderInfo.GroupBuyId);
                        maxCount             = groupBuy.MaxCount;
                        groupBuyOerderNumber = orderInfo.GetGroupBuyOerderNumber();
                        if (maxCount < (orderCount + groupBuyOerderNumber))
                        {
                            ShowMsg("当前的订单为团购订单,订购数量已超过订购总数,所以不能支付", false);
                            return;
                        }
                    }
                    if (SubsiteSalesHelper.ConfirmPay(orderInfo))
                    {
                        if ((orderInfo.GroupBuyId > 0) && (maxCount == (orderCount + groupBuyOerderNumber)))
                        {
                            SubsitePromoteHelper.SetGroupBuyEndUntreated(orderInfo.GroupBuyId);
                        }
                        BindOrders();
                        int userId = orderInfo.UserId;
                        if (userId == 0x44c)
                        {
                            userId = 0;
                        }
                        Messenger.OrderPayment(Users.GetUser(userId), orderInfo.OrderId, orderInfo.GetTotal());
                        orderInfo.OnPayment();
                        ShowMsg("成功的确认了订单收款", true);
                    }
                    else
                    {
                        ShowMsg("确认订单收款失败", false);
                    }
                }
                else if ((e.CommandName == "FINISH_TRADE") && orderInfo.CheckAction(OrderActions.SELLER_FINISH_TRADE))
                {
                    if (SubsiteSalesHelper.ConfirmOrderFinish(orderInfo))
                    {
                        BindOrders();
                        ShowMsg("成功的完成了该订单", true);
                    }
                    else
                    {
                        ShowMsg("完成订单失败", false);
                    }
                }
                else if ((e.CommandName == "CREATE_PURCHASEORDER") && orderInfo.CheckAction(OrderActions.SUBSITE_CREATE_PURCHASEORDER))
                {
                    if (SubsiteSalesHelper.CreatePurchaseOrder(orderInfo))
                    {
                        BindOrders();
                        ShowMsg("生成采购单成功", true);
                    }
                    else
                    {
                        ShowMsg(" 生成采购单失败", false);
                    }
                }
            }
        }
Example #7
0
 protected void btnSubmit_Click(object sender, EventArgs e)
 {
     if (this.ValidateCreateOrder())
     {
         string            str2 = "";
         PurchaseOrderInfo purchaseOrderInfo = new PurchaseOrderInfo();
         Distributor       user = Users.GetUser(HiContext.Current.User.UserId) as Distributor;
         string            str3 = this.GeneratePurchaseOrderId();
         purchaseOrderInfo.PurchaseOrderId = str3;
         decimal totalWeight = 0M;
         for (int i = 0; i < this.rpTaobaoOrder.Items.Count; i++)
         {
             CheckBox box = (CheckBox)this.rpTaobaoOrder.Items[i].FindControl("chkTbOrder");
             if (box.Checked)
             {
                 str2 = str2 + this.tbOrders[i].orderId + ",";
                 Repeater            repeater = (Repeater)this.rpTaobaoOrder.Items[i].FindControl("reOrderItems");
                 IList <tbOrderItem> items    = this.tbOrders[i].items;
                 for (int j = 0; j < repeater.Items.Count; j++)
                 {
                     if (items[j].localSkuId.Trim() == "")
                     {
                         string msg = string.Format("在授权给分销商的商品中没有找到淘宝商品:{0}!请重新查找", items[j].title);
                         this.ShowMsg(msg, false);
                         return;
                     }
                     string  localSkuId = items[j].localSkuId;
                     TextBox box2       = (TextBox)repeater.Items[j].FindControl("productNumber");
                     int     num4       = Convert.ToInt32(box2.Text);
                     bool    flag       = false;
                     foreach (PurchaseOrderItemInfo info2 in purchaseOrderInfo.PurchaseOrderItems)
                     {
                         if (info2.SKU == localSkuId)
                         {
                             flag            = true;
                             info2.Quantity += num4;
                             totalWeight    += info2.ItemWeight * num4;
                         }
                     }
                     if (!flag)
                     {
                         DataTable             skuContentBySku = SubSiteProducthelper.GetSkuContentBySku(localSkuId);
                         PurchaseOrderItemInfo item            = new PurchaseOrderItemInfo();
                         if (num4 > ((int)skuContentBySku.Rows[0]["Stock"]))
                         {
                             this.ShowMsg("商品库存不够", false);
                             return;
                         }
                         foreach (DataRow row in skuContentBySku.Rows)
                         {
                             if (!string.IsNullOrEmpty(row["AttributeName"].ToString()) && !string.IsNullOrEmpty(row["ValueStr"].ToString()))
                             {
                                 object sKUContent = item.SKUContent;
                                 item.SKUContent = string.Concat(new object[] { sKUContent, row["AttributeName"], ":", row["ValueStr"], "; " });
                             }
                         }
                         item.PurchaseOrderId = str3;
                         item.SkuId           = localSkuId;
                         item.ProductId       = (int)skuContentBySku.Rows[0]["ProductId"];
                         if (skuContentBySku.Rows[0]["SKU"] != DBNull.Value)
                         {
                             item.SKU = (string)skuContentBySku.Rows[0]["SKU"];
                         }
                         if (skuContentBySku.Rows[0]["Weight"] != DBNull.Value)
                         {
                             item.ItemWeight = (decimal)skuContentBySku.Rows[0]["Weight"];
                         }
                         item.ItemPurchasePrice = (decimal)skuContentBySku.Rows[0]["PurchasePrice"];
                         item.Quantity          = num4;
                         item.ItemListPrice     = (decimal)skuContentBySku.Rows[0]["SalePrice"];
                         if (skuContentBySku.Rows[0]["CostPrice"] != DBNull.Value)
                         {
                             item.ItemCostPrice = (decimal)skuContentBySku.Rows[0]["CostPrice"];
                         }
                         item.ItemDescription         = (string)skuContentBySku.Rows[0]["ProductName"];
                         item.ItemHomeSiteDescription = (string)skuContentBySku.Rows[0]["ProductName"];
                         if (skuContentBySku.Rows[0]["ThumbnailUrl40"] != DBNull.Value)
                         {
                             item.ThumbnailsUrl = (string)skuContentBySku.Rows[0]["ThumbnailUrl40"];
                         }
                         totalWeight += item.ItemWeight * num4;
                         purchaseOrderInfo.PurchaseOrderItems.Add(item);
                     }
                 }
             }
         }
         if (str2 == "")
         {
             this.ShowMsg("至少选择一个淘宝订单!!", false);
         }
         else
         {
             ShippingModeInfo shippingMode = SubsiteSalesHelper.GetShippingMode(this.radioShippingMode.SelectedValue.Value, true);
             purchaseOrderInfo.ShipTo = this.txtShipTo.Text.Trim();
             if (this.rsddlRegion.GetSelectedRegionId().HasValue)
             {
                 purchaseOrderInfo.RegionId = this.rsddlRegion.GetSelectedRegionId().Value;
             }
             purchaseOrderInfo.Address             = this.txtAddress.Text.Trim();
             purchaseOrderInfo.TelPhone            = this.txtTel.Text.Trim();
             purchaseOrderInfo.ZipCode             = this.txtZipcode.Text.Trim();
             purchaseOrderInfo.CellPhone           = this.txtMobile.Text.Trim();
             purchaseOrderInfo.OrderId             = null;
             purchaseOrderInfo.RealShippingModeId  = this.radioShippingMode.SelectedValue.Value;
             purchaseOrderInfo.RealModeName        = shippingMode.Name;
             purchaseOrderInfo.ShippingModeId      = this.radioShippingMode.SelectedValue.Value;
             purchaseOrderInfo.ModeName            = shippingMode.Name;
             purchaseOrderInfo.AdjustedFreight     = SubsiteSalesHelper.CalcFreight(purchaseOrderInfo.RegionId, totalWeight, shippingMode);
             purchaseOrderInfo.Freight             = purchaseOrderInfo.AdjustedFreight;
             purchaseOrderInfo.ShippingRegion      = this.rsddlRegion.SelectedRegions;
             purchaseOrderInfo.PurchaseStatus      = OrderStatus.WaitBuyerPay;
             purchaseOrderInfo.DistributorId       = user.UserId;
             purchaseOrderInfo.Distributorname     = user.Username;
             purchaseOrderInfo.DistributorEmail    = user.Email;
             purchaseOrderInfo.DistributorRealName = user.RealName;
             purchaseOrderInfo.DistributorQQ       = user.QQ;
             purchaseOrderInfo.DistributorWangwang = user.Wangwang;
             purchaseOrderInfo.DistributorMSN      = user.MSN;
             purchaseOrderInfo.RefundStatus        = RefundStatus.None;
             purchaseOrderInfo.Weight        = totalWeight;
             purchaseOrderInfo.Remark        = null;
             purchaseOrderInfo.TaobaoOrderId = str2;
             if (purchaseOrderInfo.PurchaseOrderItems.Count == 0)
             {
                 this.ShowMsg("您暂时未选择您要添加的商品", false);
             }
             else if (SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrderInfo))
             {
                 SubsiteSalesHelper.ClearPurchaseShoppingCart();
                 this.ResponseCookies();
                 base.Response.Redirect(Globals.ApplicationPath + "/Shopadmin/purchaseOrder/ChoosePayment.aspx?PurchaseOrderId=" + purchaseOrderInfo.PurchaseOrderId);
             }
             else
             {
                 this.ShowMsg("提交采购单失败", false);
             }
         }
     }
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     orderIds = Page.Request.QueryString["orderIds"];
     if (string.IsNullOrEmpty(orderIds))
     {
         litmsg.Text = "没有要转换的订单";
     }
     else
     {
         int result = 0;
         int.TryParse(Page.Request.QueryString["shippingModeId"], out result);
         shippingMode = SubsiteSalesHelper.GetShippingMode(result, true);
         if (shippingMode == null)
         {
             litmsg.Text = "没有选择配送方式";
         }
         else
         {
             distributor = HiContext.Current.User as Hidistro.Membership.Context.Distributor;
             cookie      = HiContext.Current.Context.Request.Cookies["TopSession_" + HiContext.Current.User.UserId.ToString()];
             string       serverUrl      = "http://gw.api.taobao.com/router/rest";
             SiteSettings masterSettings = SettingsManager.GetMasterSettings(false);
             string       appKey         = Cryptographer.Decrypt(masterSettings.Topkey);
             string       appSecret      = Cryptographer.Decrypt(masterSettings.TopSecret);
             client = new DefaultTopClient(serverUrl, appKey, appSecret, "json");
             TradeFullinfoGetRequest request2 = new TradeFullinfoGetRequest();
             request2.Fields = "tid,receiver_name,receiver_state,payment,receiver_district,receiver_city,receiver_address,receiver_phone,receiver_zip,receiver_mobile,post_fee,adjust_fee,total_fee,orders";
             TradeFullinfoGetRequest request = request2;
             string[] strArray    = orderIds.Split(new char[] { ',' });
             int      count       = 0;
             decimal  expenditure = 0M;
             foreach (string str4 in strArray)
             {
                 request.Tid = new long?(long.Parse(str4));
                 TradeFullinfoGetResponse response = client.Execute <TradeFullinfoGetResponse>(request, cookie.Value);
                 if (!response.IsError)
                 {
                     try
                     {
                         PurchaseOrderInfo purchaseOrder = GetPurchaseOrder(response.Trade);
                         if ((purchaseOrder != null) && SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrder))
                         {
                             expenditure += purchaseOrder.OrderTotal;
                             count++;
                         }
                     }
                     catch
                     {
                         litmsg.Text = "生成采购单发生错误,请重新尝试";
                     }
                 }
             }
             if (count > 0)
             {
                 SendHttpRequest(count, expenditure);
                 litmsg.Text = string.Format("你选择的{0}淘宝订单已经成功的转换了{1}个采购单", strArray.Length, count);
             }
             else
             {
                 litmsg.Text = "生成采购单失败,可能您选择的淘宝订单在系统中没有找到对应的商品";
             }
         }
     }
 }
        private void dlstOrders_ItemCommand(object sender, DataListCommandEventArgs e)
        {
            OrderInfo orderInfo = SubsiteSalesHelper.GetOrderInfo(e.CommandArgument.ToString());

            if (orderInfo != null)
            {
                if ((e.CommandName == "CONFIRM_PAY") && orderInfo.CheckAction(OrderActions.SELLER_CONFIRM_PAY))
                {
                    int maxCount             = 0;
                    int orderCount           = 0;
                    int groupBuyOerderNumber = 0;
                    if (orderInfo.CountDownBuyId > 0)
                    {
                        CountDownInfo countDownInfo = SubsitePromoteHelper.GetCountDownInfo(orderInfo.CountDownBuyId);
                        if ((countDownInfo == null) || (countDownInfo.EndDate < DateTime.Now))
                        {
                            this.ShowMsg("当前的订单为限时抢购订单,此活动已结束,所以不能支付", false);
                            return;
                        }
                    }
                    if (orderInfo.GroupBuyId > 0)
                    {
                        GroupBuyInfo groupBuy = SubsitePromoteHelper.GetGroupBuy(orderInfo.GroupBuyId);
                        if ((groupBuy == null) || (groupBuy.Status != GroupBuyStatus.UnderWay))
                        {
                            this.ShowMsg("当前的订单为团购订单,此团购活动已结束,所以不能支付", false);
                            return;
                        }
                        orderCount           = SubsitePromoteHelper.GetOrderCount(orderInfo.GroupBuyId);
                        maxCount             = groupBuy.MaxCount;
                        groupBuyOerderNumber = orderInfo.GetGroupBuyOerderNumber();
                        if (maxCount < (orderCount + groupBuyOerderNumber))
                        {
                            this.ShowMsg("当前的订单为团购订单,订购数量已超过订购总数,所以不能支付", false);
                            return;
                        }
                    }
                    if (SubsiteSalesHelper.ConfirmPay(orderInfo))
                    {
                        DebitNote note = new DebitNote();
                        note.NoteId   = Globals.GetGenerateId();
                        note.OrderId  = e.CommandArgument.ToString();
                        note.Operator = HiContext.Current.User.Username;
                        note.Remark   = "后台" + note.Operator + "支付成功";
                        SubsiteSalesHelper.SaveDebitNote(note);
                        if ((orderInfo.GroupBuyId > 0) && (maxCount == (orderCount + groupBuyOerderNumber)))
                        {
                            SubsitePromoteHelper.SetGroupBuyEndUntreated(orderInfo.GroupBuyId);
                        }
                        this.BindOrders();
                        int userId = orderInfo.UserId;
                        if (userId == 0x44c)
                        {
                            userId = 0;
                        }
                        Messenger.OrderPayment(Users.GetUser(userId), orderInfo.OrderId, orderInfo.GetTotal());
                        orderInfo.OnPayment();
                        this.ShowMsg("成功的确认了订单收款", true);
                    }
                    else
                    {
                        this.ShowMsg("确认订单收款失败", false);
                    }
                }
                else if ((e.CommandName == "FINISH_TRADE") && orderInfo.CheckAction(OrderActions.SELLER_FINISH_TRADE))
                {
                    if (SubsiteSalesHelper.ConfirmOrderFinish(orderInfo))
                    {
                        this.BindOrders();
                        this.ShowMsg("成功的完成了该订单", true);
                    }
                    else
                    {
                        this.ShowMsg("完成订单失败", false);
                    }
                }
                else if ((e.CommandName == "CREATE_PURCHASEORDER") && orderInfo.CheckAction(OrderActions.SUBSITE_CREATE_PURCHASEORDER))
                {
                    if (SubsiteSalesHelper.CreatePurchaseOrder(orderInfo))
                    {
                        this.BindOrders();
                        this.ShowMsg("生成采购单成功", true);
                    }
                    else
                    {
                        this.ShowMsg(" 生成采购单失败", false);
                    }
                }
            }
        }
        protected void btnSubmit_Click(object sender, System.EventArgs e)
        {
            if (!this.ValidateCreateOrder())
            {
                return;
            }
            string            text = "";
            PurchaseOrderInfo purchaseOrderInfo = new PurchaseOrderInfo();

            Hidistro.Membership.Context.Distributor distributor = Hidistro.Membership.Context.Users.GetUser(Hidistro.Membership.Context.HiContext.Current.User.UserId) as Hidistro.Membership.Context.Distributor;
            string purchaseOrderId = this.GeneratePurchaseOrderId();

            purchaseOrderInfo.PurchaseOrderId = purchaseOrderId;
            decimal num = 0m;

            for (int i = 0; i < this.rpTaobaoOrder.Items.Count; i++)
            {
                System.Web.UI.WebControls.CheckBox checkBox = (System.Web.UI.WebControls.CheckBox) this.rpTaobaoOrder.Items[i].FindControl("chkTbOrder");
                if (checkBox.Checked)
                {
                    text += this.tbOrders[i].orderId;
                    text += ",";
                    System.Web.UI.WebControls.Repeater repeater = (System.Web.UI.WebControls.Repeater) this.rpTaobaoOrder.Items[i].FindControl("reOrderItems");
                    System.Collections.Generic.IList <SubmitTaobaoPurchaseorderCart.tbOrderItem> items = this.tbOrders[i].items;
                    for (int j = 0; j < repeater.Items.Count; j++)
                    {
                        if (items[j].localSkuId.Trim() == "")
                        {
                            string string_ = string.Format("在授权给分销商的商品中没有找到淘宝商品:{0}!请重新查找", items[j].title);
                            this.ShowMsg(string_, false);
                            return;
                        }
                        string localSkuId = items[j].localSkuId;
                        System.Web.UI.WebControls.TextBox textBox = (System.Web.UI.WebControls.TextBox)repeater.Items[j].FindControl("productNumber");
                        int  num2 = System.Convert.ToInt32(textBox.Text);
                        bool flag = false;
                        foreach (PurchaseOrderItemInfo current in purchaseOrderInfo.PurchaseOrderItems)
                        {
                            if (current.SKU == localSkuId)
                            {
                                flag              = true;
                                current.Quantity += num2;
                                num += current.ItemWeight * num2;
                            }
                        }
                        if (!flag)
                        {
                            System.Data.DataTable skuContentBySku       = SubSiteProducthelper.GetSkuContentBySku(localSkuId);
                            PurchaseOrderItemInfo purchaseOrderItemInfo = new PurchaseOrderItemInfo();
                            if (num2 > (int)skuContentBySku.Rows[0]["Stock"])
                            {
                                this.ShowMsg("商品库存不够", false);
                                return;
                            }
                            foreach (System.Data.DataRow dataRow in skuContentBySku.Rows)
                            {
                                if (!string.IsNullOrEmpty(dataRow["AttributeName"].ToString()) && !string.IsNullOrEmpty(dataRow["ValueStr"].ToString()))
                                {
                                    PurchaseOrderItemInfo expr_23B = purchaseOrderItemInfo;
                                    object sKUContent = expr_23B.SKUContent;
                                    expr_23B.SKUContent = string.Concat(new object[]
                                    {
                                        sKUContent,
                                        dataRow["AttributeName"],
                                        ":",
                                        dataRow["ValueStr"],
                                        "; "
                                    });
                                }
                            }
                            purchaseOrderItemInfo.PurchaseOrderId = purchaseOrderId;
                            purchaseOrderItemInfo.SkuId           = localSkuId;
                            purchaseOrderItemInfo.ProductId       = (int)skuContentBySku.Rows[0]["ProductId"];
                            if (skuContentBySku.Rows[0]["SKU"] != System.DBNull.Value)
                            {
                                purchaseOrderItemInfo.SKU = (string)skuContentBySku.Rows[0]["SKU"];
                            }
                            if (skuContentBySku.Rows[0]["Weight"] != System.DBNull.Value)
                            {
                                purchaseOrderItemInfo.ItemWeight = (decimal)skuContentBySku.Rows[0]["Weight"];
                            }
                            purchaseOrderItemInfo.ItemPurchasePrice = (decimal)skuContentBySku.Rows[0]["PurchasePrice"];
                            purchaseOrderItemInfo.Quantity          = num2;
                            purchaseOrderItemInfo.ItemListPrice     = (decimal)skuContentBySku.Rows[0]["SalePrice"];
                            if (skuContentBySku.Rows[0]["CostPrice"] != System.DBNull.Value)
                            {
                                purchaseOrderItemInfo.ItemCostPrice = (decimal)skuContentBySku.Rows[0]["CostPrice"];
                            }
                            purchaseOrderItemInfo.ItemDescription         = (string)skuContentBySku.Rows[0]["ProductName"];
                            purchaseOrderItemInfo.ItemHomeSiteDescription = (string)skuContentBySku.Rows[0]["ProductName"];
                            if (skuContentBySku.Rows[0]["ThumbnailUrl40"] != System.DBNull.Value)
                            {
                                purchaseOrderItemInfo.ThumbnailsUrl = (string)skuContentBySku.Rows[0]["ThumbnailUrl40"];
                            }
                            num += purchaseOrderItemInfo.ItemWeight * num2;
                            purchaseOrderInfo.PurchaseOrderItems.Add(purchaseOrderItemInfo);
                        }
                    }
                }
            }
            if (text == "")
            {
                this.ShowMsg("至少选择一个淘宝订单!!", false);
                return;
            }
            ShippingModeInfo shippingMode = SubsiteSalesHelper.GetShippingMode(this.radioShippingMode.SelectedValue.Value, true);

            purchaseOrderInfo.ShipTo = this.txtShipTo.Text.Trim();
            if (this.rsddlRegion.GetSelectedRegionId().HasValue)
            {
                purchaseOrderInfo.RegionId = this.rsddlRegion.GetSelectedRegionId().Value;
            }
            purchaseOrderInfo.Address             = this.txtAddress.Text.Trim();
            purchaseOrderInfo.TelPhone            = this.txtTel.Text.Trim();
            purchaseOrderInfo.ZipCode             = this.txtZipcode.Text.Trim();
            purchaseOrderInfo.CellPhone           = this.txtMobile.Text.Trim();
            purchaseOrderInfo.OrderId             = null;
            purchaseOrderInfo.RealShippingModeId  = this.radioShippingMode.SelectedValue.Value;
            purchaseOrderInfo.RealModeName        = shippingMode.Name;
            purchaseOrderInfo.ShippingModeId      = this.radioShippingMode.SelectedValue.Value;
            purchaseOrderInfo.ModeName            = shippingMode.Name;
            purchaseOrderInfo.AdjustedFreight     = SubsiteSalesHelper.CalcFreight(purchaseOrderInfo.RegionId, num, shippingMode);
            purchaseOrderInfo.Freight             = purchaseOrderInfo.AdjustedFreight;
            purchaseOrderInfo.ShippingRegion      = this.rsddlRegion.SelectedRegions;
            purchaseOrderInfo.PurchaseStatus      = OrderStatus.WaitBuyerPay;
            purchaseOrderInfo.DistributorId       = distributor.UserId;
            purchaseOrderInfo.Distributorname     = distributor.Username;
            purchaseOrderInfo.DistributorEmail    = distributor.Email;
            purchaseOrderInfo.DistributorRealName = distributor.RealName;
            purchaseOrderInfo.DistributorQQ       = distributor.QQ;
            purchaseOrderInfo.DistributorWangwang = distributor.Wangwang;
            purchaseOrderInfo.DistributorMSN      = distributor.MSN;
            purchaseOrderInfo.RefundStatus        = RefundStatus.None;
            purchaseOrderInfo.Weight        = num;
            purchaseOrderInfo.Remark        = null;
            purchaseOrderInfo.TaobaoOrderId = text;
            if (purchaseOrderInfo.PurchaseOrderItems.Count == 0)
            {
                this.ShowMsg("您暂时未选择您要添加的商品", false);
                return;
            }
            if (SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrderInfo))
            {
                SubsiteSalesHelper.ClearPurchaseShoppingCart();
                this.ResponseCookies();
                base.Response.Redirect(Globals.ApplicationPath + "/Shopadmin/purchaseOrder/ChoosePayment.aspx?PurchaseOrderId=" + purchaseOrderInfo.PurchaseOrderId);
                return;
            }
            this.ShowMsg("提交采购单失败", false);
        }