/// <summary> /// 创建用户 /// </summary> /// <param name="model"></param> /// <returns></returns> public static int InsertAll(Sys_User model) { var userId = 0; using (var tran = Db.GetTransaction()) { //新增用户基本信息。 userId = UserAccess.Insert(model); if (userId > 0) { //新增用户角色信息。 UserRoleRelationAccess.SetRole(userId, model.RoleId, model.SUCreateUser); //新增用户登陆信息。 Sys_Userlogon userLogOnEntity = new Sys_Userlogon() { SULUserId = userId, SULLoginName = model.SUAccount, SULPassword = model.Password, }; var userLoginId = UserLogOnAccess.Insert(userLogOnEntity); } tran.Complete(); } return(userId); }
/// <summary> /// 设置角色 /// </summary> /// <param name="userId">会员ID</param> /// <param name="roleIds">角色列表</param> /// <param name="currtUserId">登录用户ID</param> public static void SetRole(int userId, List <int> roleIds, int currtUserId) { //a.用户需要重新设置的角色ID集合。 var listNewRoleIds = roleIds.ToList(); //b.用户原有的角色信息。 var listOldRRs = UserRoleRelationAccess.GetList(userId); //c.删除用户新设置和原有用户角色关系集合中相同的记录。 for (int i = listOldRRs.Count - 1; i >= 0; i--) { if (listNewRoleIds.Contains(listOldRRs[i].SURRRoleId)) { listNewRoleIds.Remove(listOldRRs[i].SURRRoleId); listOldRRs.Remove(listOldRRs[i]); } } //d.新集合中剩下的用户角色关系新增到数据库。 listNewRoleIds.ForEach((roleId) => { UserRoleRelationAccess.Insert(new Sys_Userrolerelation() { SURRUserId = userId, SURRRoleId = roleId, SURRCreateUser = currtUserId, SURRCreateTime = DateTime.Now }); }); //e.旧集合中剩下的用户角色关系从数据库中删除。 listOldRRs.ForEach((rrObj) => { UserRoleRelationAccess.Delete(rrObj); }); }