Exemple #1
0
    /// <summary>
    /// 确定按钮事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void go_Click(object sender, EventArgs e)
    {
        //获取用户选择商品的总钱和总积分
        IList <MemberDetailsModel> choseProList = AddMemberDetails();
        decimal          SumMoney    = Convert.ToDecimal(ViewState["TotalMoney"]);               // Convert.ToDecimal(new RegistermemberBLL().getZongJing(choseProList));
        decimal          SumPv       = Convert.ToDecimal(ViewState["TotalPv"]);                  // Convert.ToDecimal(new RegistermemberBLL().getZongPv(choseProList));
        string           orderID     = MemberOrderAgainBLL.GetOrderInfo(IsEdit(), GetOrderId()); //获取报单号
        MemberOrderModel momberorder = AddOrdrer(orderID, SumMoney, SumPv);

        //需要修改session取得期数,需要修改
        if (!new RegistermemberBLL().IsMaxQiShu(CommonDataBLL.getMaxqishu()))
        {
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001543", "只可对最大期数据进行操作") + "');", true);
            return;
        }
        //编号不能为空
        if (Txtbh.Text == "")
        {
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001547", "编号不能为空!") + "');", true);
            return;
        }

        if (panel2.Visible)
        {
            //验证国家省份城市是否选择
            if (CountryCity1.Country == "" || CountryCity1.Province == "" || CountryCity1.City == "")//|| CountryCity1.Country == "请选择" || CountryCity1.Province == "请选择" || CountryCity1.City == "请选择")
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001548", "对不起,请选择国家省份城市!") + "');", true);
                return;
            }
        }

        if (panel2.Visible)
        {
            //详细地址不能为空
            if (Txtdz.Text == "")
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("006933", "对不起,请填写详细地址!") + "');", true);
                return;
            }
        }

        //编号是否存在
        if (new MemberOrderAgainBLL().CheckNuberIsExist(this.Txtbh.Text.Trim()) <= 0)
        {
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001549", "对不起,该编号不存在!") + "');", true);
            return;
        }
        //得到用户选择商品总金额和总积分
        if (choseProList.Count == 0)
        {
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001550", "对不起,您还没有输入订货数量信息!") + "');", true);
            return;
        }
        if (Convert.ToBoolean(ViewState["StateCount"]))
        {
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("007039", "对不起,您选择了停售产品,并且超出了店铺库存数量!") + "');", true);
            return;
        }

        //电子钱包密码是否正确
        if (this.rdPayType.SelectedValue.ToString() == "2")
        {
            //用户编号不能为空
            if (txtdzbh.Text == "")
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001551", "对不起,您输入的用户编号!") + "');", true);
                return;
            }
            //电子账户密码不能为空
            if (txtdzbh.Text == "")
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001552", "对不起,您输入的电子账户密码!") + "');", true);
                return;
            }
            //验证电子账户密码
            if (!MemberOrderAgainBLL.CheckEctPassWord(txtdzbh.Text, Encryption.Encryption.GetEncryptionPwd(txtdzbh.Text, txtdzmima.Text)))
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001554", "对不起,您输入的电子账户密码不正确!") + "');", true);
                return;
            }
        }

        //分析购物条件
        double PrevMoney      = 0;
        double StoreLeftMoney = 0;
        bool   judge          = true;
        double notEnoughmoney = new RegistermemberBLL().CheckMoneyIsEnough(choseProList, GetStoreId(), GetOrderId());
        string checkResult    = MemberOrderAgainBLL.CheckOption(IsEdit(), notEnoughmoney, orderID, GetStoreId(), choseProList, this.rdPayType.SelectedValue.ToString(), out StoreLeftMoney, out PrevMoney, out judge);

        if (checkResult != null)
        {
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", checkResult, true);
            return;
        }

        //检查公司逻辑库存
        IList <MemberDetailsModel> porList = CommonDataBLL.GetNewOrderDetail1(choseProList);

        for (int i = 0; i < porList.Count; i++)
        {
            int left = BLL.CommonClass.CommonDataBLL.GetLeftLogicProductInventory(Convert.ToInt32(porList[i].ProductId));
            if (left < choseProList[i].Quantity)
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("005967", "对不起,公司库存不够") + "!" + porList[i].ProductName + GetTran("005970", "库存数只有") + ":" + left + "');", true);
                return;
            }
        }

        //电子钱包是否足够
        if (this.rdPayType.SelectedValue == "2")
        {
            //需要修改
            double elcMoney = Convert.ToDouble(CommonDataBLL.EctBalance(this.txtdzbh.Text.Trim()));
            //如果电子金额少于用户订单总额
            if (elcMoney < Convert.ToDouble(momberorder.TotalMoney))
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001528", "用户") + this.txtdzbh.Text + GetTran("001529", "的电子钱包不够本次报单!") + "');", true);
                return;
            }
        }

        //不足货物的钱
        momberorder.LackProductMoney = Convert.ToDecimal(MemberOrderAgainBLL.GetBzMoney(GetStoreId(), notEnoughmoney));//获得标准币种


        //添加订单,跟新会员业绩,和该店库存报单的费用
        if (MemberOrderAgainBLL.AddOrderData(IsEdit(), momberorder, choseProList))
        {
            if (!IsEdit())
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001556", "报单成功!") + "');location.href='MemberOrderAgain.aspx';", true);
            }
            else
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("000222", "修改成功!") + "');location.href='BrowseMemberOrders.aspx';", true);
            }
        }
        else
        {
            if (!IsEdit())
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("001557", "报单失败!") + "');", true);
            }
            else
            {
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('" + GetTran("000225", "修改失败!") + "');", true);
            }
        }
    }