/// <summary> /// 修改用户信息 /// </summary> /// <param name="userInfo">修改用户信息实体</param> /// <returns>结果</returns> public CustomResult Update(UpdateUserInfoViewModel userInfo) { using (DataSubmittedEntities db = new DataSubmittedEntities()) { using (TransactionScope transaction = new TransactionScope()) { CustomResult pReturnValue = new CustomResult(); //查找用户表中是否已经存在该用户 var user = db.OT_User.Where(a => a.Name == userInfo.UserName&a.Id!=userInfo.UserId).Select(a => new { UserId = a.Id, IsDelete = a.IsDelete }).ToList(); //有记录,则返回用户已存在 if (user != null && user.Count > 0) { if (user[0].IsDelete == (byte)EUserStatus.Normal) { pReturnValue.ResultKey = (byte)EResult.IsRepeat; pReturnValue.ResultValue = Wttech.DataSubmitted.Common.Resources.TipInfo.AddFaileHasUser; } else { pReturnValue.ResultKey = (byte)EResult.IsRepeatDel; pReturnValue.ResultValue = Wttech.DataSubmitted.Common.Resources.TipInfo.AddFaileHasDelUser; } return pReturnValue; } //修改用户名 var listUserName = db.OT_User.Where(a => a.Id == userInfo.UserId).ToList(); //如果用户不存在,这返回,说明数据不是正常输入 if (!(listUserName != null && listUserName.Count > 0)) { pReturnValue.ResultKey = (byte)EResult.IsNull4; } listUserName[0].Name = userInfo.UserName; //获取用户角色关系 var list = db.OT_UserRole.Where(a => a.UserId == userInfo.UserId & a.IsDelete == (byte)EDataStatus.Normal).ToList(); //删除用户角色关系 foreach (var model in list) { model.IsDelete = (byte)EDataStatus.IsDelete; } //添加用户角色关系 foreach (Guid roleId in userInfo.RoleIdList) { OT_UserRole userRoleInfo = new OT_UserRole(); userRoleInfo.Id = Guid.NewGuid(); userRoleInfo.IsDelete = (byte)EDataStatus.Normal; userRoleInfo.RoleId = roleId; userRoleInfo.UserId = userInfo.UserId; db.OT_UserRole.Add(userRoleInfo); } pReturnValue = Result.SaveChangesResult(db, transaction); return pReturnValue; } } }
public void TestUpdate() { UpdateUserInfoViewModel model = new UpdateUserInfoViewModel(); model.UserId = Guid.Parse("3b0dd8ec-1b2d-4863-93cd-7874266fa5a4"); model.UserName = "******"; List<Guid> list = new List<Guid>(); list.Add(Guid.Parse("7d03e715-c233-4047-9679-d3590d4d6f7c")); list.Add(Guid.Parse("557e6ac5-2b26-46d4-a821-fd86b2e2c6d1")); model.RoleIdList = list; us.Update(model); model.UserId = Guid.Parse("3b0dd8ec-1b2d-4863-93cd-7874266fa7a4"); model.UserName = "******"; list.Clear(); list.Add(Guid.Parse("7d03e715-c233-4047-9679-d3590d4d6f7c")); list.Add(Guid.Parse("557e6ac5-2b26-46d4-a821-fd86b2e2c6d1")); model.RoleIdList = list; us.Update(model); }
public JsonResult Update(string userId, List<string> roleList, string userName) { CustomResult result = new CustomResult(); #region 数据判定 Guid id = Guid.NewGuid(); if (!Guid.TryParse(userId, out id)) { result.ResultKey=(byte)EResult.IsNull1; result.ResultValue=Wttech.DataSubmitted.Common.Resources.TipInfo.SelectUser; return Json(result, JsonRequestBehavior.DenyGet); } bool flag = false; foreach (string roleId in roleList) { if (Guid.TryParse(roleId, out id)) flag = true; } if (!(roleList != null && roleList.Count > 0 && flag)) { result.ResultKey = (byte)EResult.IsNull2; result.ResultValue = Wttech.DataSubmitted.Common.Resources.TipInfo.SelectRole; return Json(result, JsonRequestBehavior.DenyGet); } if (string.IsNullOrEmpty(userName)) { result.ResultKey = (byte)EResult.IsNull3; result.ResultValue = Wttech.DataSubmitted.Common.Resources.TipInfo.InputUserName; return Json(result, JsonRequestBehavior.DenyGet); } #endregion //构造修改用户信息实体 UpdateUserInfoViewModel userInfoModel = new UpdateUserInfoViewModel(); userInfoModel.UserId = Guid.Parse(userId); userInfoModel.UserName = userName; List<Guid> list = new List<Guid>(); foreach (string roleId in roleList) { if (Guid.TryParse(roleId, out id)) { list.Add(id); } } userInfoModel.RoleIdList = list; //交给业务逻辑层处理 result = userManage.Update(userInfoModel); if (Session["UserInfo"] != null) ReportFactory.Instance.log.WriteLog(Common.OperationType.Update, string.Format("修改了{0}的信息", userName)); return Json(result, JsonRequestBehavior.DenyGet); }