/// <summary> /// 保存wbs代码 /// 2017/05/04(zhuguanjun) /// </summary> /// <param name="code"></param> /// <returns></returns> public JsonResult SaveWBSCode(WBSCode entity) { JsonResult jsonreslut = new JsonResult(); try { if (string.IsNullOrEmpty(entity.ID)) { new Repository <WBSCode>().Insert(entity, false); } else { new Repository <WBSCode>().Update(entity, false); } jsonreslut.result = true; jsonreslut.msg = "保存成功!"; } catch (Exception ex) { LogHelper.WriteException(ex, LogType.BussinessDLL); jsonreslut.result = false; jsonreslut.msg = ex.Message; } return(jsonreslut); }
/// <summary> /// 递归函数设置子节点的WBSCode编码 /// 2017/05/08(zhuguanjun) /// </summary> /// <param name="listNode">节点集合</param> /// <param name="pnode">父节点</param> /// <param name="step">节点层次</param> /// <param name="wbscodeArray">WBSCode数组</param> private void SetChildWBSNo(List <PNode> listNode, PNode pnode, int step, DomainDLL.WBSCode[] wbscodeArray) { step++; string parentID = pnode.ID.Substring(0, 36); IEnumerable <PNode> children = listNode.Where(t => t.ParentID == parentID).OrderBy(t => t.No); if (children.Count <PNode>() < 1) { return; } foreach (PNode child in children) { DomainDLL.WBSCode wc; if (step < wbscodeArray.Count()) { wc = wbscodeArray[step]; } else { //wc = wbscodeArray.Last();//2017/05/22(zhuguanjun) wc = new WBSCode { LengthName = 4, Orderr = (int)WBSCodeOrder.Number, BreakName = "-" } }; byte[] array = SetStepNo(wc.LengthName, wc.Orderr, child.No); child.WBSNo = pnode.WBSNo + Ascii2Str(array) + wc.BreakName; SetChildWBSNo(listNode, child, step, wbscodeArray); } }