/// <summary>
        /// تنظیم نقش کاربر
        /// </summary>
        /// <param name="vm"></param>
        /// <returns></returns>
        public SweetAlertExtenstion SetRole(SetUserRoleViewModel vm)
        {
            var userRole = TableNoTracking.FirstOrDefault(a => a.UserId == vm.UserId);

            return(ResetRole());

            #region LocalMethod

            SweetAlertExtenstion ResetRole()
            {
                if (userRole == null)
                {
                    MapAdd(vm, false);
                }
                else
                {
                    Delete(userRole);
                    MapAdd(vm, false);
                }

                return(Save());
            }

            #endregion
        }
        public IActionResult SetRole(SetUserRoleViewModel vm)
        {
            var swMessage = _usersRoleRepository.SetRole(vm);

            TempData.AddResult(swMessage);

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 3
0
        public IActionResult SetRole(SetUserRoleViewModel vm)
        {
            var swMessage = _usersRoleRepository.SetRole(vm);

            TempData.AddResult(swMessage);

            return(Redirect(IndexUrlWithQueryString));
        }
        /// <summary>
        /// تنظیم نقش کاربر
        /// </summary>
        /// <param name="vm"></param>
        /// <returns></returns>
        public SweetAlertExtenstion SetRole(SetUserRoleViewModel vm)
        {
            try
            {
                this.Entities.Add(new UserRoles {
                    RoleId = vm.RoleId,
                    UserId = vm.UserId
                });

                DbContext.SaveChanges();

                return(SweetAlertExtenstion.Ok());
            }
            catch
            {
                return(SweetAlertExtenstion.Error());
            }

            //var userRole = TableNoTracking.FirstOrDefault(a => a.UserId == vm.UserId);

            //return ResetRole();

            #region LocalMethod

            //SweetAlertExtenstion ResetRole()
            //{
            //    if (userRole == null) MapAdd(vm, false);
            //    else
            //    {
            //        Delete(userRole);
            //        MapAdd(vm, false);
            //    }

            //    return Save();
            //}

            #endregion
        }
Exemplo n.º 5
0
        public async Task <ActionResult> SaveModify(UserViewModel model
                                                    , SetUserRoleViewModel userInRole
                                                    , SetUserResourceViewModel userOwnResource)
        {
            MethodReturnResult rst = new MethodReturnResult();

            try
            {
                using (UserServiceClient client = new UserServiceClient())
                {
                    MethodReturnResult <User> result = await client.GetAsync(model.LoginName);

                    if (result.Code > 0)
                    {
                        return(Json(result));
                    }
                    //修改用户
                    result.Data.UserName    = model.UserName;
                    result.Data.Description = model.Description;
                    result.Data.Editor      = User.Identity.Name;
                    result.Data.EditTime    = DateTime.Now;
                    result.Data.IsActive    = model.IsActive;
                    result.Data.IsApproved  = model.IsApproved;
                    result.Data.IsLocked    = model.IsLocked;
                    result.Data.Email       = model.Email;
                    result.Data.MobilePhone = model.MobilePhone;
                    result.Data.OfficePhone = model.OfficePhone;
                    result.Data.Password    = model.Password;

                    rst = await client.ModifyAsync(result.Data);

                    if (rst.Code > 0)
                    {
                        return(Json(rst));
                    }

                    //设置用户角色
                    IList <UserInRole> lstUserInRole = new List <UserInRole>();
                    if (userInRole.Roles != null)
                    {
                        foreach (string roleName in userInRole.Roles)
                        {
                            lstUserInRole.Add(new UserInRole()
                            {
                                Key = new UserInRoleKey()
                                {
                                    LoginName = model.LoginName, RoleName = roleName
                                },
                                Editor   = User.Identity.Name,
                                EditTime = DateTime.Now
                            });
                        }
                    }
                    rst = await client.SetUserRoleAsync(model.LoginName, lstUserInRole);

                    if (rst.Code > 0)
                    {
                        return(Json(rst));
                    }
                    //设置用户资源
                    IList <UserOwnResource> lstUserOwnResource = new List <UserOwnResource>();
                    if (userOwnResource.Resources != null)
                    {
                        foreach (string val in userOwnResource.Resources)
                        {
                            string[]     vals = val.Split('$');
                            ResourceType type = (ResourceType)Enum.Parse(typeof(ResourceType), vals[0]);
                            string       code = string.Concat(vals.Skip(1));

                            lstUserOwnResource.Add(new UserOwnResource()
                            {
                                Key = new UserOwnResourceKey()
                                {
                                    LoginName = model.LoginName, ResourceCode = code, ResourceType = type
                                },
                                Editor   = User.Identity.Name,
                                EditTime = DateTime.Now
                            });
                        }
                    }
                    rst = await client.SetUserResourceAsync(model.LoginName, lstUserOwnResource);

                    if (rst.Code > 0)
                    {
                        return(Json(rst));
                    }
                    if (rst.Code == 0)
                    {
                        rst.Message = string.Format(StringResource.User_SaveModify_Success, model.LoginName);
                    }
                }
            }
            catch (Exception ex)
            {
                rst.Code    = 1000;
                rst.Message = ex.Message;
            }
            return(Json(rst));
        }