using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CY.Model; using CY.Infrastructure.Query; using CY.BLL.OA; using CY.Infrastructure.Common; using System.Data; namespace CY.WebForm.Pages.procurement { public partial class SpecificationEdit : BasePage { OA_CommoditySpeciAssociateBLL _OA_CommoditySpeciAssociateBLL = null; OA_Specification specification = null; OA_SpecificationBLL _OA_SpecificationBLL = null; OA_CommodityBLL _OA_CommodityBLL = null; OA_GoodsInfoBLL _OA_GoodsInfoBLL = null; OA_BrandBLL _OA_BrandBLL = null; public SpecificationEdit() { _OA_BrandBLL = new OA_BrandBLL(); _OA_CommoditySpeciAssociateBLL = new OA_CommoditySpeciAssociateBLL(); _OA_CommodityBLL = new OA_CommodityBLL(); specification = new OA_Specification(); _OA_SpecificationBLL = new OA_SpecificationBLL(); _OA_GoodsInfoBLL = new OA_GoodsInfoBLL(); } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.txtOrderNum.Value = _OA_BrandBLL.GetMaxOrderNum(CurrentUser.MemberId, " OA_Specification "); DataTable ds = _OA_CommodityBLL.SelectModelPage(CurrentUser.MemberId, "", "true"); GetDataByLevel(dwCommity, ds, 0, 0); ChangeSelBrand(dwCommity.SelectedValue); if (Request["EditKeyid"].ToInt32() > 0) InitialData(); } } protected void InitialData() { specification = _OA_SpecificationBLL.getSingleSpecification(Request["EditKeyid"].ToString2()); if (specification != null) { this.txtSpecificationName.Value = specification.Name; this.dwCommity.SelectedValue = specification.CommodityId.ToString2(); ChangeSelBrand(specification.CommodityId.ToString2()); this.dwGoodsid.SelectedValue = specification.GoodsId.ToString2(); this.txtOrderNum.Value = specification.OrderNum.ToString2(); } else { this.txtSpecificationName.Value = ""; this.txtOrderNum.Value = _OA_BrandBLL.GetMaxOrderNum(CurrentUser.MemberId, " OA_Specification "); } } public static void GetDataByLevel(System.Web.UI.WebControls.DropDownList dwCommity, DataTable data, int parentId, int level) { DataRow[] result = data.Select(string.Format("ParentId={0}", parentId)); int i = -1; while (++i < result.Length) { dwCommity.Items.Add(new ListItem(GetSplitChar(level) + result[i]["CommodityName"].ToString2(), result[i]["Keyid"].ToString2())); GetDataByLevel(dwCommity, data, result[i]["Keyid"].ToInt32().Value, level + 1); } } public static string GetSplitChar(int level) { string splitchar = ""; int i = -1; while (++i < level) { splitchar += "."; } return splitchar; } protected void btn_Submit_Click(object sender, EventArgs e) { if (Request["EditKeyid"].ToInt32() > 0) { specification = _OA_SpecificationBLL.getSingleSpecification(Request["EditKeyid"].ToString2()); } specification.FirmId = CurrentUser.MemberId; specification.LastUpdateTime = DateTime.Now; specification.Name = txtSpecificationName.Value; specification.Operator = CurrentUser.ShortName; specification.CommodityId = this.dwCommity.SelectedValue.ToInt32(); specification.GoodsId = this.dwGoodsid.SelectedValue.ToInt32(); specification.Remark = ""; specification.OrderNum = this.txtOrderNum.Value.ToInt32(); if (Request["EditKeyid"].ToInt32() > 0) { if (_OA_SpecificationBLL.UpdateModel(specification, dwCommity.SelectedValue)) JavaScript.MessageBoxCloseAndRefreshFirst("更新成功", this); else JavaScript.MessageBox("更新失败", this); } else { if (_OA_SpecificationBLL.InsertModel(specification, this.dwCommity.SelectedValue)) { InitialData(); JavaScript.MessageBox("添加成功", this,false,true); } else JavaScript.MessageBox("添加失败", this); } } protected void dwCommity_SelectedIndexChanged(object sender, EventArgs e) { this.dwGoodsid.DataSource = _OA_GoodsInfoBLL.SlectModleByCommity(this.dwCommity.SelectedValue, CurrentUser.MemberId); this.dwGoodsid.DataValueField = "Keyid"; this.dwGoodsid.DataTextField = "GoodsName"; this.dwGoodsid.DataBind(); } protected void ChangeSelBrand(string CommodityId) { this.dwGoodsid.DataSource = _OA_GoodsInfoBLL.SlectModleByCommity(CommodityId, CurrentUser.MemberId); this.dwGoodsid.DataValueField = "Keyid"; this.dwGoodsid.DataTextField = "GoodsName"; this.dwGoodsid.DataBind(); } } }