/// <summary>
        /// 保存
        /// </summary>
        /// <param name="theData">保存的数据</param>
        public ActionResult SaveData(Base_User theData, string Pwd, string RoleIdList)
        {
            if (!Pwd.IsNullOrEmpty())
            {
                theData.Password = Pwd.ToMD5String();
            }
            var roleIdList = RoleIdList.ToList <string>();

            if (theData.Id.IsNullOrEmpty())
            {
                theData.Id     = Guid.NewGuid().ToSequentialGuid();
                theData.UserId = Guid.NewGuid().ToSequentialGuid();

                _baseUserRepository.AddData(theData);
            }
            else
            {
                _baseUserRepository.UpdateData(theData);
            }

            _baseUserRepository.SetUserRole(theData.UserId, roleIdList);
            PermissionManage.UpdateUserPermissionCache(theData.UserId);

            return(Success());
        }
Example #2
0
        public void SetUserRole(string userId, List <string> roleIds)
        {
            Service.Delete <Base_UserRoleMap>(x => x.UserId == userId);
            var insertList = roleIds.Select(x => new Base_UserRoleMap
            {
                Id     = GuidHelper.GenerateKey(),
                UserId = userId,
                RoleId = x
            }).ToList();

            Service.Insert(insertList);
            _cache.UpdateCache(userId);
            _userRoleCache.UpdateCache(userId);
            PermissionManage.UpdateUserPermissionCache(userId);
        }