/// <summary> /// 删除一条数据 /// 不是物理删除,标记删除 /// /// 删除时需要先删除该功能已经分配的权限(人员功能分配和角色功能分配) /// </summary> public bool Delete(string GNBM, string DWBM) { //删除角色功能分配表数据 var mode = GetModel(GNBM, DWBM); mode.SFSC = "Y"; var bllrygnfp = new BLL.XT_QX_RYGNFP(this.context); var blljsgnfp = new BLL.XT_QX_JSGNFP(this.context); //获取功能的功能分配集合 var modellist = GetListByRygnfps(GNBM, DWBM); //删除人员功能分配表数据 foreach (var rygnfp in modellist) { bllrygnfp.Delete(DWBM, rygnfp.GH, GNBM); } //获取角色分配集合 var jsmodellist = GetListByJsgnfps(GNBM, DWBM); //删除角色分配集合 foreach (var jsgnfp in jsmodellist) { blljsgnfp.Delete(DWBM, jsgnfp.JSBM, GNBM); } return(dal.Update(mode)); }
/// <summary> /// 获取功能的人员分配集合 /// </summary> /// <param name="gnbm">功能编码</param> /// <param name="dwbm">单位编码</param> /// <returns>分配的权限集合</returns> private static IEnumerable <Model.XT_QX_RYGNFP> GetListByRygnfps(string gnbm, string dwbm) { var bllrygnfp = new BLL.XT_QX_RYGNFP(null); var sbwhere = new StringBuilder(); var objectValues = new Object[2]; sbwhere.Append(" and GNBM=:GNBM "); objectValues[0] = gnbm; sbwhere.Append(" and DWBM=:DWBM "); objectValues[1] = dwbm; return(bllrygnfp.GetModelList(sbwhere.ToString(), objectValues)); }