public XMDeliveryDetails GetDeliveryDetails(XMOrderInfoProductDetails ProductDetails, string OrderCode, int WarehouseID)
        {
            string PrdouctName    = "";
            string Specifications = "";

            XMDeliveryDetails detail = new XMDeliveryDetails();

            //detail.DeliveryId = DeliveryIDType;
            detail.DetailsTypeId = (int)StatusEnum.NormalOrder;//正常订单
            detail.OrderNo       = OrderCode;
            var ProductDetail = base.XMProductDetailsService.GetXMProductDetailsByPlatformMerchantCode(ProductDetails.PlatformMerchantCode, (int)ProductDetails.XM_OrderInfo.PlatformTypeId);

            if (ProductDetail != null && ProductDetail.Count > 0)
            {
                detail.ProductlId = ProductDetail[0].ProductId;
                var product = base.XMProductService.GetXMProductById((int)detail.ProductlId);
                if (product != null)
                {
                    PrdouctName    = product.ProductName;
                    Specifications = product.Specifications;
                }
            }
            detail.PlatformMerchantCode = ProductDetails.PlatformMerchantCode;
            detail.PrdouctName          = PrdouctName;
            detail.Specifications       = Specifications;
            detail.ProductNum           = (int)ProductDetails.ProductNum;
            detail.WarehouseID          = WarehouseID;
            detail.IsEnabled            = false;
            detail.CreateDate           = DateTime.Now;
            detail.CreateID             = HozestERPContext.Current.User.CustomerID;
            detail.UpdateDate           = DateTime.Now;
            detail.UpdateID             = HozestERPContext.Current.User.CustomerID;
            //IoC.Resolve<IXMDeliveryDetailsService>().InsertXMDeliveryDetails(detail);
            return(detail);
        }
        public List <XMOrderInfoProductDetails> ToGetProductDetailsList(List <XMOrderInfo> list)
        {
            List <XMOrderInfoProductDetails> List = new List <XMOrderInfoProductDetails>();

            foreach (var Info in list)
            {
                if (Info.XM_OrderInfoProductDetails != null && Info.XM_OrderInfoProductDetails.Count > 0)
                {
                    foreach (var item in Info.XM_OrderInfoProductDetails)
                    {
                        if (Info.PlatformTypeId == 259 && !item.PlatformMerchantCode.StartsWith("CM"))
                        {
                            continue;
                        }

                        XMOrderInfoProductDetails one = new XMOrderInfoProductDetails();
                        one.ID = Info.ID;
                        if (!string.IsNullOrEmpty(item.TManufacturersCode))
                        {
                            var Product = IoC.Resolve <IXMProductDetailsService>().GetXMProductListByTManufacturersCode(item.TManufacturersCode);
                            if (Product != null && Product.Count > 0)
                            {
                                one.TManufacturersCode = Product[0].ManufacturersCode;
                            }
                        }
                        if (one.TManufacturersCode == null)
                        {
                            var product = IoC.Resolve <IXMProductService>().GetXMProductListByPlatformMerchantCode(item.PlatformMerchantCode, -1);
                            if (product != null && product.Count > 0)
                            {
                                one.TManufacturersCode = product[0].ManufacturersCode;
                            }
                        }
                        one.Specifications = item.Specifications;
                        one.ProductName    = item.ProductName;
                        one.ProductNum     = item.ProductNum;
                        one.SalesPrice     = item.SalesPrice;
                        List.Add(one);
                    }
                }
            }
            return(List);
        }
        protected void grdvClients_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                #region  除
                //if (e.CommandName.Equals("XMOrderInfoDelete"))
                //{
                //    var xMOrderInfo = base.XMOrderInfoProductDetailsService.GetXMOrderInfoProductDetailsByID(Convert.ToInt32(e.CommandArgument));

                //    if (xMOrderInfo != null)//删除
                //    {
                //        ToInsertXMOrderInfoOperatingRecord("产品信息删除", "商品编码-" + xMOrderInfo.PlatformMerchantCode, "");

                //        xMOrderInfo.IsEnable = true;
                //        xMOrderInfo.UpdateID = HozestERPContext.Current.User.CustomerID;
                //        xMOrderInfo.UpdateDate = DateTime.Now;
                //        base.XMOrderInfoProductDetailsService.UpdateXMOrderInfoProductDetails(xMOrderInfo);
                //        this.BindGrid(this.Master.PageIndex, this.Master.PageSize);
                //        base.ShowMessage("操作成功!");
                //    }
                //}
                #endregion

                #region 修改
                if (e.CommandName.Equals("OrderProductUpdate"))
                {
                    try
                    {
                        //订单详细信息
                        var orderproductInfo = base.XMOrderInfoProductDetailsService.GetXMOrderInfoProductDetailsByID(Convert.ToInt32(e.CommandArgument));
                        //编辑行
                        GridViewRow gvr = (GridViewRow)((Control)e.CommandSource).Parent.Parent;
                        //HtmlInputText txtProductCode = (HtmlInputText)gvr.FindControl("txtProductCode");
                        HtmlInputText    txtProductCode    = (HtmlInputText)gvr.FindControl("lblManufacturers");//商品编码
                        HtmlInputControl lblProductName    = (HtmlInputControl)gvr.FindControl("lblProductName");
                        HtmlInputControl lblSpecifications = (HtmlInputControl)gvr.FindControl("lblSpecifications");
                        HtmlInputText    txtProductNum     = (HtmlInputText)gvr.FindControl("txtProductNum");
                        TextBox          lblFactoryPrice   = (TextBox)gvr.FindControl("lblFactoryPrice");
                        TextBox          lblTCostprice     = (TextBox)gvr.FindControl("lblTCostprice");
                        TextBox          txtSalesPrice     = (TextBox)gvr.FindControl("txtSalesPrice");
                        HtmlInputText    txtManufacturers  = (HtmlInputText)gvr.FindControl("txtProductCode");//厂家编码
                        if (orderproductInfo != null)
                        {
                            var pingtai = base.XMOrderInfoService.GetXMOrderInfoByID(this.XMOrderInfoID);
                            int?a       = pingtai.PlatformTypeId;
                            //产品信息
                            var productInfo = base.XMProductService.GetXMProductListByCode(txtProductCode.Value, a);

                            if (productInfo != null)
                            {
                                //订单信息
                                var orderInfo = base.XMOrderInfoService.GetXMOrderInfoByID(int.Parse(orderproductInfo.OrderInfoID.ToString()));
                                orderInfo.IsAbnormal = false;
                                base.XMOrderInfoService.UpdateXMOrderInfo(orderInfo);
                            }

                            if (orderproductInfo.ProductNum != int.Parse(txtProductNum.Value.Trim()))
                            {
                                ToInsertXMOrderInfoOperatingRecord("产品信息编辑-数量", orderproductInfo.ProductNum.ToString(), txtProductNum.Value.Trim());
                            }
                            if (orderproductInfo.FactoryPrice != decimal.Parse(lblFactoryPrice.Text.Trim()))
                            {
                                ToInsertXMOrderInfoOperatingRecord("产品信息编辑-出厂价", orderproductInfo.FactoryPrice.ToString(), lblFactoryPrice.Text.Trim());
                            }
                            if (orderproductInfo.TCostprice != decimal.Parse(lblTCostprice.Text.Trim()))
                            {
                                ToInsertXMOrderInfoOperatingRecord("产品信息编辑-特供价", orderproductInfo.TCostprice.ToString(), lblTCostprice.Text.Trim());
                            }
                            if (orderproductInfo.SalesPrice != decimal.Parse(txtSalesPrice.Text.Trim()))
                            {
                                ToInsertXMOrderInfoOperatingRecord("产品信息编辑-销售价", orderproductInfo.SalesPrice.ToString(), txtSalesPrice.Text.Trim());
                            }
                            if (orderproductInfo.PlatformMerchantCode != txtProductCode.Value.Trim())
                            {
                                ToInsertXMOrderInfoOperatingRecord("产品信息编辑-商品编码", orderproductInfo.PlatformMerchantCode, txtProductCode.Value.Trim());
                            }
                            orderproductInfo.TManufacturersCode   = txtManufacturers.Value.Trim();
                            orderproductInfo.PlatformMerchantCode = txtProductCode.Value;
                            orderproductInfo.ProductName          = lblProductName.Value;
                            orderproductInfo.Specifications       = lblSpecifications.Value;
                            orderproductInfo.ProductNum           = int.Parse(txtProductNum.Value.Trim());
                            orderproductInfo.FactoryPrice         = decimal.Parse(lblFactoryPrice.Text.Trim());
                            orderproductInfo.TCostprice           = decimal.Parse(lblTCostprice.Text.Trim());
                            orderproductInfo.SalesPrice           = decimal.Parse(txtSalesPrice.Text.Trim());
                            orderproductInfo.UpdateID             = HozestERPContext.Current.User.CustomerID;
                            orderproductInfo.UpdateDate           = DateTime.Now;
                            base.XMOrderInfoProductDetailsService.UpdateXMOrderInfoProductDetails(orderproductInfo);

                            base.ShowMessage("操作成功!");
                        }
                        else
                        {
                            XMOrderInfoProductDetails orderproduct = new XMOrderInfoProductDetails();
                            orderproduct.TManufacturersCode   = txtManufacturers.Value.Trim();//厂家编码
                            orderproduct.OrderInfoID          = Convert.ToInt32(this.XMOrderInfoID);
                            orderproduct.PlatformMerchantCode = txtProductCode.Value;
                            orderproduct.ProductName          = lblProductName.Value;
                            orderproduct.Specifications       = lblSpecifications.Value;
                            orderproduct.ProductNum           = int.Parse(txtProductNum.Value.Trim());
                            orderproduct.FactoryPrice         = decimal.Parse(lblFactoryPrice.Text.Trim());
                            orderproduct.TCostprice           = decimal.Parse(lblTCostprice.Text.Trim());
                            orderproduct.SalesPrice           = decimal.Parse(txtSalesPrice.Text.Trim());
                            orderproduct.CreateID             = HozestERPContext.Current.User.CustomerID;
                            orderproduct.CreateDate           = DateTime.Now;
                            orderproduct.UpdateID             = HozestERPContext.Current.User.CustomerID;
                            orderproduct.UpdateDate           = DateTime.Now;
                            orderproduct.IsAudit     = false;
                            orderproduct.IsEnable    = false;
                            orderproduct.IsExpedited = false;
                            base.XMOrderInfoProductDetailsService.InsertXMOrderInfoProductDetails(orderproduct);

                            ToInsertXMOrderInfoOperatingRecord("产品信息添加", "", "商品编码-" + orderproduct.PlatformMerchantCode);

                            base.ShowMessage("添加成功!");
                            this.BindGrid(1, Master.PageSize);
                            //ScriptManager.RegisterStartupScript(this.grdvClients, this.Page.GetType(), "XMOrderInfoProductDetailsEdit", "autoCompleteBind()", true);
                        }
                    }
                    catch (Exception ex)
                    {
                        base.ShowMessage("请检查数字填写是否正确!");
                    }
                }
                #endregion

                ScriptManager.RegisterStartupScript(this.grdvClients, this.Page.GetType(), "XMOrderInfoProductDetailsEdit", "autoCompleteBind()", true);
            }
            catch (Exception ex)
            {
                base.ProcessException(ex);
            }
        }
        protected void grdvClients_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                #region 修改
                if (e.CommandName.Equals("OrderProductUpdate"))
                {
                    try
                    {
                        var OrderInfo = base.XMOrderInfoService.GetXMOrderInfoByOrderCode(OrderCode);
                        //订单详细信息
                        var ProductDetails = base.XMOrderInfoProductDetailsService.GetXMOrderInfoProductDetailsByID(Convert.ToInt32(e.CommandArgument));

                        //编辑行
                        GridViewRow      gvr = (GridViewRow)((Control)e.CommandSource).Parent.Parent;
                        HtmlInputText    lblPlatformMerchantCode = (HtmlInputText)gvr.FindControl("lblPlatformMerchantCode");//商品编码
                        HtmlInputText    txtProductName          = (HtmlInputText)gvr.FindControl("txtProductName");
                        HtmlInputControl lblSpecifications       = (HtmlInputControl)gvr.FindControl("lblSpecifications");
                        HtmlInputControl lblManufacturersCode    = (HtmlInputControl)gvr.FindControl("lblManufacturersCode");//厂家编码
                        HtmlInputText    txtProductNum           = (HtmlInputText)gvr.FindControl("txtProductNum");
                        TextBox          txtFactoryPrice         = (TextBox)gvr.FindControl("txtFactoryPrice");
                        TextBox          txtTCostprice           = (TextBox)gvr.FindControl("txtTCostprice");
                        TextBox          txtSalesPrice           = (TextBox)gvr.FindControl("txtSalesPrice");

                        if (OrderInfo != null)
                        {
                            if (ProductDetails != null)
                            {
                                //产品信息
                                var ProductDetailsList = base.XMProductService.GetXMProductListByPlatformMerchantCode(lblPlatformMerchantCode.Value.Trim(), (int)OrderInfo.PlatformTypeId);
                                if (ProductDetailsList != null && ProductDetailsList.Count > 0)
                                {
                                    OrderInfo.IsAbnormal = false;
                                    base.XMOrderInfoService.UpdateXMOrderInfo(OrderInfo);
                                }

                                if (ProductDetails.ProductNum != int.Parse(txtProductNum.Value.Trim()))
                                {
                                    ToInsertXMOrderInfoOperatingRecord("产品信息编辑-数量", ProductDetails.ProductNum.ToString(), txtProductNum.Value.Trim());
                                }
                                if (ProductDetails.FactoryPrice != decimal.Parse(txtFactoryPrice.Text.Trim()))
                                {
                                    ToInsertXMOrderInfoOperatingRecord("产品信息编辑-出厂价", ProductDetails.FactoryPrice.ToString(), txtFactoryPrice.Text.Trim());
                                }
                                if (ProductDetails.TCostprice != decimal.Parse(txtTCostprice.Text.Trim()))
                                {
                                    ToInsertXMOrderInfoOperatingRecord("产品信息编辑-特供价", ProductDetails.TCostprice.ToString(), txtTCostprice.Text.Trim());
                                }
                                if (ProductDetails.SalesPrice != decimal.Parse(txtSalesPrice.Text.Trim()))
                                {
                                    ToInsertXMOrderInfoOperatingRecord("产品信息编辑-销售价", ProductDetails.SalesPrice.ToString(), txtSalesPrice.Text.Trim());
                                }
                                if (ProductDetails.PlatformMerchantCode != lblPlatformMerchantCode.Value.Trim())
                                {
                                    ToInsertXMOrderInfoOperatingRecord("产品信息编辑-商品编码", ProductDetails.PlatformMerchantCode, lblPlatformMerchantCode.Value.Trim());
                                }
                                ProductDetails.TManufacturersCode   = lblManufacturersCode.Value;
                                ProductDetails.PlatformMerchantCode = lblPlatformMerchantCode.Value;
                                ProductDetails.ProductName          = txtProductName.Value.Trim();
                                ProductDetails.Specifications       = lblSpecifications.Value;
                                ProductDetails.ProductNum           = int.Parse(txtProductNum.Value.Trim());
                                ProductDetails.FactoryPrice         = decimal.Parse(txtFactoryPrice.Text.Trim());
                                ProductDetails.TCostprice           = decimal.Parse(txtTCostprice.Text.Trim());
                                ProductDetails.SalesPrice           = decimal.Parse(txtSalesPrice.Text.Trim());
                                ProductDetails.UpdateID             = HozestERPContext.Current.User.CustomerID;
                                ProductDetails.UpdateDate           = DateTime.Now;
                                base.XMOrderInfoProductDetailsService.UpdateXMOrderInfoProductDetails(ProductDetails);

                                base.ShowMessage("操作成功!");
                            }
                            else
                            {
                                XMOrderInfoProductDetails orderproduct = new XMOrderInfoProductDetails();
                                orderproduct.OrderInfoID          = OrderInfo.ID;
                                orderproduct.TManufacturersCode   = lblManufacturersCode.Value;
                                orderproduct.PlatformMerchantCode = lblPlatformMerchantCode.Value;
                                orderproduct.ProductName          = txtProductName.Value.Trim();
                                orderproduct.Specifications       = lblSpecifications.Value;
                                orderproduct.ProductNum           = int.Parse(txtProductNum.Value.Trim());
                                orderproduct.FactoryPrice         = decimal.Parse(txtFactoryPrice.Text.Trim());
                                orderproduct.TCostprice           = decimal.Parse(txtTCostprice.Text.Trim());
                                orderproduct.SalesPrice           = decimal.Parse(txtSalesPrice.Text.Trim());
                                orderproduct.CreateID             = HozestERPContext.Current.User.CustomerID;
                                orderproduct.CreateDate           = DateTime.Now;
                                orderproduct.UpdateID             = HozestERPContext.Current.User.CustomerID;
                                orderproduct.UpdateDate           = DateTime.Now;
                                orderproduct.IsAudit     = false;
                                orderproduct.IsEnable    = false;
                                orderproduct.IsExpedited = false;
                                base.XMOrderInfoProductDetailsService.InsertXMOrderInfoProductDetails(orderproduct);

                                ToInsertXMOrderInfoOperatingRecord("产品信息添加", "", "商品编码-" + orderproduct.PlatformMerchantCode);

                                base.ShowMessage("添加成功!");
                                this.BindGrid(1, Master.PageSize);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        base.ShowMessage("请检查数字填写是否正确!");
                    }
                }
                #endregion

                ScriptManager.RegisterStartupScript(this.grdvClients, this.Page.GetType(), "XMOrderInfoProductDetailsEdit", "autoCompleteBind()", true);
            }
            catch (Exception ex)
            {
                base.ProcessException(ex);
            }
        }