/// <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_JSGNFP> GetListByJsgnfps(string gnbm, string dwbm) { var blljsgnfp = new BLL.XT_QX_JSGNFP(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(blljsgnfp.GetModelList(sbwhere.ToString(), objectValues)); }