//选择添加新的往来单位分类 protected void InsterItem(object sender, EventArgs e) { Guid parentCompanyClassId; if (TV_CompanyClass.SelectedNode == null) { parentCompanyClassId = Guid.Empty; } else { RadTreeNode currentNode = TV_CompanyClass.SelectedNode; parentCompanyClassId = new Guid(currentNode.Value); } var companyClassInfo = new CostCompanyClassInfo(Guid.NewGuid(), parentCompanyClassId, null, null); NonceCompanyClass = companyClassInfo; ControlPanel.Visible = false; IB_Add.Visible = true; LBAddSpace.Visible = true; IB_Update.Visible = false; LBUpdateSpace.Visible = false; IB_Cancel.Visible = true; TB_CompanyClassCode.ReadOnly = false; TB_CompanyClassName.ReadOnly = false; }
//编辑分类 protected void Update_Click(object sender, EventArgs e) { CostCompanyClassInfo companyClassInfo = NonceCompanyClass; if (companyClassInfo.CompanyClassId != Guid.Empty) { try { if (TV_CompanyClass.SelectedNode != null) { _cost.Update(companyClassInfo); RadTreeNode currentNode = TV_CompanyClass.SelectedNode; currentNode.Text = companyClassInfo.CompanyClassName + "(" + companyClassInfo.CompanyClassCode + ")"; currentNode.ToolTip = companyClassInfo.CompanyClassName + "(" + companyClassInfo.CompanyClassCode + ")"; } } catch { RAM.Alert("往来单位分类更改失败!"); } } else { RAM.Alert("根节点不允许更改!"); } }
//添加往来单位分类 protected void Add_Click(object sender, EventArgs e) { CostCompanyClassInfo companyClassInfo = NonceCompanyClass; if (companyClassInfo == null) { return; } try { _cost.Insert(companyClassInfo); if (TV_CompanyClass.SelectedNode == null) { RadTreeNode addNode = CreateNode(companyClassInfo.CompanyClassName + "(" + companyClassInfo.CompanyClassCode + ")", false, companyClassInfo.CompanyClassId.ToString()); TV_CompanyClass.Nodes.Add(addNode); } else { RadTreeNode currentNode = TV_CompanyClass.SelectedNode; RadTreeNode addNode = CreateNode(companyClassInfo.CompanyClassName + "(" + companyClassInfo.CompanyClassCode + ")", false, companyClassInfo.CompanyClassId.ToString()); currentNode.Nodes.Add(addNode); currentNode.Expanded = true; } InsterItem(sender, e); } catch { RAM.Alert("往来单位分类添加失败!"); } }
//编辑选择的往来的单位分类 protected void EditItem(object sender, EventArgs e) { if (TV_CompanyClass.SelectedNode != null) { RadTreeNode currentNode = TV_CompanyClass.SelectedNode; Guid companyClassId = new Guid(currentNode.Value); if (companyClassId != Guid.Empty) { NonceCompanyClass = _cost.GetCompanyClass(companyClassId); ControlPanel.Visible = false; IB_Add.Visible = false; LBAddSpace.Visible = false; IB_Update.Visible = true; LBUpdateSpace.Visible = true; IB_Cancel.Visible = true; TB_CompanyClassCode.ReadOnly = false; TB_CompanyClassName.ReadOnly = false; } else { RAM.Alert("根节点不允许编辑。"); } } else { RAM.Alert("您没有选择要编辑的往来单位分类!\n\n请从左边的往来单位分类树中选择要编辑的往来单位分类。"); } }
//选择往来单位分类树节点 protected void TV_CompanyClass_NodeClick(object sender, RadTreeNodeEventArgs e) { var companyClassId = new Guid(e.Node.Value); if (!IsInster) { NonceCompanyClass = companyClassId == Guid.Empty ? new CostCompanyClassInfo() : _cost.GetCompanyClass(companyClassId); } else { NonceCompanyClass = new CostCompanyClassInfo(Guid.NewGuid(), companyClassId, null, null); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { IB_Add.Visible = false; LBAddSpace.Visible = false; IB_Update.Visible = false; LBUpdateSpace.Visible = false; IB_Cancel.Visible = false; NonceCompanyClass = new CostCompanyClassInfo(); GetTreeCompanyClass(); } }
/// <summary> /// 获取往来单位列表 /// </summary> /// <returns></returns> public IList <CostCompanyClassInfo> GetCompanyClassList() { IList <CostCompanyClassInfo> companyClassList = new List <CostCompanyClassInfo>(); using (var rdr = SqlHelper.ExecuteReader(GlobalConfig.ERP_DB_NAME, true, SQL_SELECT_COMPANYCLASS_LIST, null)) { while (rdr.Read()) { var companyClass = new CostCompanyClassInfo(rdr.GetGuid(0), rdr.GetGuid(1), rdr.GetString(2), rdr.GetString(3)); companyClassList.Add(companyClass); } } return(companyClassList); }
/// <summary> /// 更新往来单位信息 /// </summary> /// <param name="companyClass">往来单位分类类实例</param> public void Update(CostCompanyClassInfo companyClass) { SqlParameter[] parms = GetCompanyClassParameters(); parms[0].Value = companyClass.CompanyClassId; parms[1].Value = companyClass.ParentCompanyClassId; parms[2].Value = companyClass.CompanyClassCode; parms[3].Value = companyClass.CompanyClassName; try { SqlHelper.ExecuteNonQuery(GlobalConfig.ERP_DB_NAME, false, SQL_UPDATE_COMPANYCLASS, parms); } catch (Exception ex) { throw new ApplicationException(ex.Message); } }
//取消编辑或添加 protected void Cancel_Click(object sender, EventArgs e) { ControlPanel.Visible = true; IB_Add.Visible = false; LBAddSpace.Visible = false; IB_Update.Visible = false; LBUpdateSpace.Visible = false; IB_Cancel.Visible = false; TB_CompanyClassCode.ReadOnly = true; TB_CompanyClassName.ReadOnly = true; if (TV_CompanyClass.SelectedNode != null) { var companyClassId = new Guid(TV_CompanyClass.SelectedNode.Value); NonceCompanyClass = _cost.GetCompanyClass(companyClassId); } }
/// <summary> /// 获取指定分类的子分类列表 /// </summary> /// <param name="parentCompanyClassId">父分类编号</param> /// <returns></returns> public IList <CostCompanyClassInfo> GetChildCompanyClassList(Guid parentCompanyClassId) { IList <CostCompanyClassInfo> companyClassList = new List <CostCompanyClassInfo>(); var parm = new SqlParameter(PARM_PARENTCOMPANYCLASSID, SqlDbType.UniqueIdentifier) { Value = parentCompanyClassId }; using (var rdr = SqlHelper.ExecuteReader(GlobalConfig.ERP_DB_NAME, true, SQL_SELECT_CHILDCOMPANYCLASS_LIST, parm)) { while (rdr.Read()) { var companyClass = new CostCompanyClassInfo(rdr.GetGuid(0), rdr.GetGuid(1), rdr.GetString(2), rdr.GetString(3)); companyClassList.Add(companyClass); } } return(companyClassList); }
/// <summary> /// 得到下级分类列表 /// </summary> /// <param name="costClassId">分类ID</param> /// <returns></returns> public IList <CostCompanyClassInfo> GetChildrenList(Guid costClassId) { var prms = new SqlParameter(PARM_COST_CLASS_PARENT_ID, SqlDbType.UniqueIdentifier) { Value = costClassId }; IList <CostCompanyClassInfo> ccInfoList = new List <CostCompanyClassInfo>(); using (var rdr = SqlHelper.ExecuteReader(GlobalConfig.ERP_DB_NAME, true, SQL_SELECT_BY_CLASS_ID, prms)) { while (rdr.Read()) { var ccInfo = new CostCompanyClassInfo { CompanyClassId = rdr.GetGuid(0), ParentCompanyClassId = rdr.GetGuid(1), CompanyClassCode = rdr.GetString(2), CompanyClassName = rdr.GetString(3) }; ccInfoList.Add(ccInfo); } } return(ccInfoList); }
//删除选择的往来单位分类 protected void Delete_Click(object sender, EventArgs e) { if (TV_CompanyClass.SelectedNode != null) { RadTreeNode currentNode = TV_CompanyClass.SelectedNode; RadTreeNode parentCurrentNode = currentNode.ParentNode; Guid companyClassId = new Guid(currentNode.Value); if (companyClassId != Guid.Empty) { try { if (_cost.CanDelete(companyClassId) == false) { RAM.Alert("该分类绑定有费用账户,无法删除"); return; } if (_cost.GetFireCompanyCount(companyClassId) <= 0) { if (_cost.GetChildCompanyClassCount(companyClassId) <= 0) { _cost.Delete(companyClassId); } else { RAM.Alert("该往来单位分类仍有下属分类,不允许删除!"); return; } } else { RAM.Alert("该往来单位仍有单位使用,不允许删除!"); return; } UnselectAllNodes(TV_CompanyClass); if (currentNode.Parent != null) { parentCurrentNode.Selected = true; parentCurrentNode.Nodes.Remove(currentNode); NonceCompanyClass = _cost.GetCompanyClass(new Guid(parentCurrentNode.Value)); } else { if (currentNode.Index > 0) { currentNode.TreeView.Nodes[currentNode.Index - 1].Selected = true; NonceCompanyClass = _cost.GetCompanyClass(new Guid(currentNode.TreeView.Nodes[currentNode.Index - 1].Value)); } TV_CompanyClass.Nodes.Remove(currentNode); } } catch (Exception exp) { RAM.Alert("往来单位分类删除失败!\n\n错误提示:" + exp.Message); } } else { RAM.Alert("根节点不允许删除!"); } } }