protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { #region 判断传入参数是否为SheetCode if (Request.QueryString["SheetCode"] != null) { string code = Request.QueryString["SheetCode"]; IList<ORD_OrderApply> list = ORD_OrderApplyBLL.GetModelList("SheetCode='" + code + "'"); if (list.Count > 0) { Response.Redirect("OrderProductApplyDetail.aspx?ID=" + list[0].ID.ToString()); } else Response.Redirect("OrderApplyList.aspx"); } #endregion ViewState["ID"] = Request.QueryString["ID"] == null ? 0 : int.Parse(Request.QueryString["ID"]); BindDropDown(); ViewState["Product"] = 0; #region 创建空的列表 ListTable<ORD_OrderApplyDetail> _details = new ListTable<ORD_OrderApplyDetail>(new ORD_OrderApplyBLL((int)ViewState["ID"]).Items, "Product"); ViewState["Details"] = _details; #endregion if (Session["LogisticsOrderApplyDetail"] != null && (int)ViewState["ID"] == 0) { #region 新费用申请时,初始化申请信 ORD_OrderCartBLL cart = (ORD_OrderCartBLL)Session["LogisticsOrderApplyDetail"]; ORD_OrderApply model = new ORD_OrderApply(); if (cart.Client != 0) { model.OrganizeCity = new CM_ClientBLL(cart.Client).Model.OrganizeCity; model.Client = cart.Client; } model.InsertStaff = (int)Session["UserID"]; model.InsertTime = DateTime.Now; model["IsSpecial"] = cart.IsSpecial.ToString(); model.Type = cart.Type; ViewState["Type"] = cart.Type; model["ProductBrand"] = cart.Brand.ToString(); model["ProductType"] = cart.OrderType.ToString(); if (cart.OrderType != 1) priceEnable = true; model.AccountMonth = AC_AccountMonthBLL.GetCurrentMonth(); ORD_OrderLimitFactorBLL limitbll = new ORD_OrderLimitFactorBLL(); ViewState["Limit"] = limitbll.GetLimitInfo(Convert.ToInt32(model.AccountMonth), cart.Client); bt_Submit.Visible = false; foreach (ORD_OrderCart item in cart.Items) { ORD_OrderApplyDetail _detailmodel = new ORD_OrderApplyDetail(); _detailmodel.Price = item.Price; _detailmodel.Product = item.Product; _detailmodel.BookQuantity = item.BookQuantity; _details.Add(_detailmodel); } ViewState["Details"] = _details; pn_OrderApply.BindData(model); BindGrid(); #endregion } else { BindData(); } Header.Attributes["WebPageSubCode"] = "Type=" + ViewState["Type"].ToString(); } }
private bool Save() { ORD_OrderCartBLL cart = null; if (Session["LogisticsOrderApplyDetail"] != null) cart = (ORD_OrderCartBLL)Session["LogisticsOrderApplyDetail"]; if ((int)ViewState["ID"] == 0) { if (cart == null || cart.Items.Count == 0) { MessageBox.Show(this, "对不起,定单申请明细不能为空!"); return false; } ORD_OrderApplyBLL bll = new ORD_OrderApplyBLL(); pn_OrderApply.GetData(bll.Model); #region 判断有没有填写经销商 if (bll.Model.Client == 0) { MessageBox.Show(this, "对不起,请填写申请定购的经销商!"); return false; } #endregion #region 初始化定单字段 bll.Model.OrganizeCity = cart.OrganizeCity; bll.Model.PublishID = cart.Publish; bll.Model.AccountMonth = cart.AccountMonth; bll.Model.SheetCode = ORD_OrderApplyBLL.GenerateSheetCode(bll.Model.OrganizeCity, bll.Model.AccountMonth); //自动产生备案号 bll.Model.ApproveFlag = 2; bll.Model.State = 1; bll.Model.InsertStaff = (int)Session["UserID"]; bll.Model["AddressID"] = cart.AddressID.ToString(); bll.Model["Receiver"] = cart.Receiver.ToString(); if (cart.Publish > 0) { ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(cart.Publish).Model; if (publish != null) { bll.Model["ProductBrand"] = publish["ProductBrand"]; bll.Model["GiftClassify"] = publish["GiftClassify"]; } } #endregion ViewState["ID"] = bll.Add(); #region 新增定单明细明细 foreach (ORD_OrderCart cartitem in cart.Items) { if (cartitem.BookQuantity == 0) continue; ORD_OrderApplyDetail m = new ORD_OrderApplyDetail(); m.ApplyID = (int)ViewState["ID"]; m.Product = cartitem.Product; m.Price = cartitem.Price; m.BookQuantity = cartitem.BookQuantity; m.AdjustQuantity = 0; m.DeliveryQuantity = 0; bll.AddDetail(m); } #endregion } else { ORD_OrderApplyBLL bll = new ORD_OrderApplyBLL((int)ViewState["ID"]); pn_OrderApply.GetData(bll.Model); bll.Model.UpdateStaff = (int)Session["UserID"]; bll.Update(); #region 修改明细 if (cart != null) { //先将现有定单中每个品项与购物中的比较 //如果购物车中没有该产品,则删除,如有且数量不同,则更新,并从购物车中移除该品项 foreach (ORD_OrderApplyDetail m in bll.Items) { ORD_OrderCart cartitem = cart.Items.FirstOrDefault(p => p.Product == m.Product); if (cartitem == null) bll.DeleteDetail(m.ID); else { if (cartitem.BookQuantity != m.BookQuantity) { m.BookQuantity = cartitem.BookQuantity; bll.UpdateDetail(m); } cart.RemoveProduct(m.Product); } } //新购物车中新增的品项加入定单明细中 foreach (ORD_OrderCart cartitem in cart.Items) { ORD_OrderApplyDetail m = new ORD_OrderApplyDetail(); m.ApplyID = (int)ViewState["ID"]; m.Product = cartitem.Product; m.Price = cartitem.Price; m.BookQuantity = cartitem.BookQuantity; m.AdjustQuantity = 0; m.DeliveryQuantity = 0; bll.AddDetail(m); } } #endregion } return true; }