Exemplo n.º 1
0
        /// <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;
                }
            }
        }
Exemplo n.º 2
0
        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);
        }