Ejemplo n.º 1
0
        /// <summary>
        /// 单个删除
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="id">主键</param>
        /// <returns>影响行数</returns>
        public int Delete(UserInfo userInfo, string id)
        {
            int returnValue = 0;
            var parameter   = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_Delete, "主键:" + id);

            ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider =>
            {
                var userManager = new PiUserManager(dbProvider, userInfo);
                returnValue     = userManager.Delete(id);
                //已经被删除的用户的UserId设置为Null
                userManager.CheckUserStaff();
                returnValue += new UserPermissionManager(dbProvider, userInfo).ClearUserPermissionByUserId(id);
            });
            return(returnValue);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="ids">主键数组</param>
        /// <returns>影响行数</returns>
        public int BatchDelete(UserInfo userInfo, string[] ids)
        {
            int returnValue = 0;
            var parameter   = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_BatchDelete, "主键数组:" + BusinessLogic.ArrayToList(ids));

            ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider =>
            {
                var userManager = new PiUserManager(dbProvider, userInfo);
                returnValue     = userManager.Delete(ids);
                // 用户已经被删除的用户的UserId设置为Null,说白了,是需要整理数据
                userManager.CheckUserStaff();
                if (ids != null && ids.Length > 0)
                {
                    returnValue += ids.Sum(userId => new UserPermissionManager(dbProvider, userInfo).ClearUserPermissionByUserId(userId));
                }
            });
            return(returnValue);
        }