/// <summary> /// 插入前台分类的层级关系 /// </summary> /// <param name="relation">前台分类的层级关系</param> public void InsertRelation(ECCategoryRelation relation) { DataCommand cmd = DataCommandManager.GetDataCommand("ECCategory_InsertRelation"); cmd.SetParameterValue(relation); cmd.ExecuteNonQuery(); relation.SysNo = Convert.ToInt32(cmd.GetParameterValue("@SysNo")); }
/// <summary> /// 插入前台显示分类 /// </summary> /// <param name="entity">前台显示分类</param> public ECCategory Insert(ECCategory entity) { Validate(entity); using (TransactionScope ts = new TransactionScope()) { _ecCategoryDA.Insert(entity); if (entity.Level == ECCategoryLevel.Category1) { ECCategoryRelation r = new ECCategoryRelation(); r.ECCategorySysNo = entity.SysNo.Value; r.ParentSysNo = null; _ecCategoryDA.InsertRelation(r); } else { if (entity.ParentList != null) { foreach (var p in entity.ParentList) { if (p.RSysNo > 0) { ECCategoryRelation r = new ECCategoryRelation(); r.ECCategorySysNo = entity.SysNo.Value; r.ParentSysNo = p.RSysNo; _ecCategoryDA.InsertRelation(r); } else { ECCategory parentItem = _ecCategoryDA.Load(p.SysNo.Value); if (parentItem == null || parentItem.RSysNo <= 0) { throw new BizException(string.Format("节点{1}为无效节点!", p.Name)); } ECCategoryRelation r = new ECCategoryRelation(); r.ECCategorySysNo = entity.SysNo.Value; r.ParentSysNo = parentItem.RSysNo; _ecCategoryDA.InsertRelation(r); } } } } ts.Complete(); } return(entity); }
/// <summary> /// 更新前台显示分类 /// </summary> /// <param name="entity">前台显示分类</param> public void Update(ECCategory entity) { Validate(entity); using (TransactionScope ts = new TransactionScope()) { _ecCategoryDA.Update(entity); //2.删除不在当前父类列表中的层级关系 List <int> rParentSysNoList = entity.ParentList.ConvertAll(p => p.RSysNo); _ecCategoryDA.DeleteOldRelation(entity.SysNo.Value, rParentSysNoList); //3.重新插入层级关系 foreach (var rSysNo in rParentSysNoList) { if (!_ecCategoryDA.ExistsRelation(entity.SysNo.Value, rSysNo)) { ECCategoryRelation r = new ECCategoryRelation(); r.ECCategorySysNo = entity.SysNo.Value; r.ParentSysNo = rSysNo; _ecCategoryDA.InsertRelation(r); } } ts.Complete(); } }