コード例 #1
0
        public int EliminateRoleUser(string roleId)
        {
            var returnValue = 0;
            var userManager = new PiUserManager(this.DBProvider, this.UserInfo);

            returnValue = userManager.SetProperty(PiUserTable.FieldRoleId, roleId, PiUserTable.FieldRoleId, null);

            returnValue += this.Delete(PiUserRoleTable.FieldRoleId, roleId);
            return(returnValue);
        }
コード例 #2
0
        public int ClearUserRole(string userId)
        {
            var returnValue = 0;
            var userManager = new PiUserManager(this.DBProvider, this.UserInfo);

            returnValue += userManager.SetProperty(PiUserTable.FieldId, userId, PiUserTable.FieldRoleId, null);

            returnValue += this.Delete(PiUserRoleTable.FieldUserId, userId);
            return(returnValue);
        }
コード例 #3
0
        /// <summary>
        /// 批量设置默认角色
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="userIds">用户主键数组</param>
        /// <param name="roleId">默认角色主键</param>
        /// <returns>影响行数</returns>
        public int BatchSetDefaultRole(UserInfo userInfo, string[] userIds, string roleId)
        {
            int returnValue = 0;
            var parameter   = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_BatchSetDefaultRole);

            ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider =>
            {
                var userManager = new PiUserManager(dbProvider, userInfo);
                returnValue     = userManager.SetProperty(userIds, PiUserTable.FieldRoleId, roleId);
            });
            return(returnValue);
        }
コード例 #4
0
        public int Update(PiOrganizeEntity organizeEntity, out string statusCode)
        {
            int returnValue = 0;

            string[] names  = { PiOrganizeTable.FieldParentId, PiOrganizeTable.FieldFullName, PiOrganizeTable.FieldDeleteMark };
            Object[] values = { organizeEntity.ParentId, organizeEntity.FullName, 0 };

            if (this.Exists(names, values, organizeEntity.Id))
            {
                // 名称已重复
                statusCode = StatusCode.ErrorNameExist.ToString();
            }
            else
            {
                // 检查编号是否重复
                names  = new string[] { PiOrganizeTable.FieldCode, PiOrganizeTable.FieldDeleteMark };
                values = new object[] { organizeEntity.Code, 0 };

                if (organizeEntity.Code.Length > 0 && this.Exists(names, values, organizeEntity.Id))
                {
                    // 编号已重复
                    statusCode = StatusCode.ErrorCodeExist.ToString();
                }
                else
                {
                    // 1:更新部门的信息
                    returnValue = this.UpdateEntity(organizeEntity);
                    // 2:更新组织机构时,同步更新用户表的公司、分公司、部门、子部门、工作组
                    var userManager = new PiUserManager(this.DBProvider, this.UserInfo);
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldCompanyId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldCompanyName, organizeEntity.FullName));
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyName, organizeEntity.FullName));
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldDepartmentId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldDepartmentName, organizeEntity.FullName));
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentName, organizeEntity.FullName));
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupName, organizeEntity.FullName));

                    statusCode = returnValue == 1 ? StatusCode.OKUpdate.ToString() : StatusCode.ErrorChanged.ToString();
                }
            }
            return(returnValue);
        }
コード例 #5
0
        public int RemoveFormRole(string[] userIds, string roleId)
        {
            var returnValue = 0;
            var userManager = new PiUserManager(this.DBProvider, this.UserInfo);

            for (var i = 0; i < userIds.Length; i++)
            {
                // 删除用户角色
                returnValue += this.RemoveFormRole(userIds[i], roleId);
                // 如果该角色是用户默认角色,将用户默认角色置空
                userManager.SetProperty(PiUserTable.FieldId, userIds[i], PiUserTable.FieldRoleId, roleId, PiUserTable.FieldRoleId, null);
            }
            return(returnValue);
        }
コード例 #6
0
        /// <summary>
        /// 设置用户审核状态
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="ids">主键数组</param>
        /// <param name="auditStates">审核状态</param>
        /// <returns>影响行数</returns>
        public int SetUserAuditStates(UserInfo userInfo, string[] ids, AuditStatus auditStates)
        {
            int returnValue = 0;
            var parameter   = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_SetUserAuditStates);

            ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider =>
            {
                var userManager = new PiUserManager(dbProvider, userInfo);
                returnValue     = userManager.SetProperty(ids, PiUserTable.FieldAuditStatus, auditStates.ToString());
                // 被审核通过
                if (auditStates == AuditStatus.AuditPass)
                {
                    returnValue = userManager.SetProperty(ids, PiUserTable.FieldEnabled, 1);
                    // returnValue = userManager.SetProperty(ids, BaseUserEntity.FieldAuditStatus, StatusCode.UserIsActivate.ToString());
                }
                // 被退回
                if (auditStates == AuditStatus.AuditReject)
                {
                    returnValue = userManager.SetProperty(ids, PiUserTable.FieldEnabled, 0);
                    returnValue = userManager.SetProperty(ids, PiUserTable.FieldAuditStatus, StatusCode.UserLocked.ToString());
                }
            });
            return(returnValue);
        }
コード例 #7
0
        /// <summary>
        /// 设置用户的默认角色
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="userId">用户主键</param>
        /// <param name="roleId">角色主键</param>
        /// <returns>影响的行数</returns>
        public int SetDefaultRole(UserInfo userInfo, string userId, string roleId)
        {
            var returnValue = 0;
            var parameter   = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_SetDefaultRole, "用户主键:" + userId + ",角色主键:" + roleId);

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var userManager = new PiUserManager(dbProvider, userInfo);
                if (string.IsNullOrEmpty(roleId))
                {
                    roleId = null;
                }
                returnValue = userManager.SetProperty(userId, PiUserTable.FieldRoleId, roleId);
            });
            return(returnValue);
        }
コード例 #8
0
        /// <summary>
        /// 激活帐户
        /// </summary>
        /// <param name="openId">唯一识别码</param>
        /// <param name="statusCode">返回状态码</param>
        /// <returns>用户实体</returns>
        public UserInfo AccountActivation(string openId, out string statusCode)
        {
            // 1.用户是否存在?
            UserInfo userInfo = null;

            // 用户没有找到状态
            statusCode = StatusCode.UserNotFound.ToString();
            // 检查是否有效的合法的参数
            if (!String.IsNullOrEmpty(openId))
            {
                PiUserManager userManager = new PiUserManager(DBProvider);
                // DataTable dataTable = userManager.GetDT(PiUserTable.FieldOpenId, openId, PiUserTable.FieldDeleteMark, 0);
                DataTable dataTable = userManager.GetDT(PiUserTable.FieldDeleteMark, 0);
                if (dataTable.Rows.Count == 1)
                {
                    //PiUserEntity userEntity = new PiUserEntity(dataTable);
                    PiUserEntity userEntity = BaseEntity.Create <PiUserEntity>(dataTable);
                    // 3.用户是否被锁定?
                    if (userEntity.Enabled == 0)
                    {
                        statusCode = StatusCode.UserLocked.ToString();
                        return(userInfo);
                    }
                    if (userEntity.Enabled == 1)
                    {
                        // 2.用户是否已经被激活?
                        statusCode = StatusCode.UserIsActivate.ToString();
                        return(userInfo);
                    }
                    if (userEntity.Enabled == -1)
                    {
                        // 4.成功激活用户
                        statusCode = StatusCode.OK.ToString();
                        userManager.SetProperty(PiUserTable.FieldId, userEntity.Id, PiUserTable.FieldEnabled, 1);
                        return(userInfo);
                    }
                }
            }
            return(userInfo);
        }
コード例 #9
0
        /// <summary>
        /// 批量置删除标志
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="ids">主键数组</param>
        /// <returns>影响的行数</returns>
        public int SetDeleted(UserInfo userInfo, string[] ids)
        {
            int returnValue = 0;

            if (ids == null || ids.Length <= 0)
            {
                return(returnValue);
            }

            var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.OrganizeService_SetDeleted);

            ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider =>
            {
                var manager = new PiOrganizeManager(dbProvider, userInfo);
                for (int pos = 0; pos < ids.Length; pos++)
                {
                    //逻辑删除组织机构
                    returnValue += manager.SetDeleted(ids[pos]);
                    //同步处理用户表组织机构相关数据
                    var userManager = new PiUserManager(dbProvider, userInfo);
                    var parameters  = new List <KeyValuePair <string, object> >
                    {
                        new KeyValuePair <string, object>(PiUserTable.FieldCompanyId, null),
                        new KeyValuePair <string, object>(PiUserTable.FieldCompanyName, null)
                    };
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldCompanyId, ids[pos]), parameters);
                    parameters = new List <KeyValuePair <string, object> >
                    {
                        new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyId, null),
                        new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyName, null)
                    };
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyId, ids[pos]), parameters);
                    parameters = new List <KeyValuePair <string, object> >
                    {
                        new KeyValuePair <string, object>(PiUserTable.FieldDepartmentId, null),
                        new KeyValuePair <string, object>(PiUserTable.FieldDepartmentName, null)
                    };
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldDepartmentId, ids[pos]), parameters);
                    parameters = new List <KeyValuePair <string, object> >
                    {
                        new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentId, null),
                        new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentName, null)
                    };
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentId, ids[pos]), parameters);
                    parameters = new List <KeyValuePair <string, object> >
                    {
                        new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupId, null),
                        new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupName, null)
                    };
                    userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupId, ids[pos]), parameters);
                    //同步处理员工表组织机构相关数据
                    var staffOrganizeManager = new PiStaffOrganizeManager(dbProvider, userInfo);
                    parameters = new List <KeyValuePair <string, object> >
                    {
                        new KeyValuePair <string, object>(PiStaffOrganizeTable.FieldOrganizeId, ids[pos])
                    };
                    staffOrganizeManager.SetDeleted(parameters, true);
                }
            });
            return(returnValue);
        }