public async Task <IActionResult> UpdateUserStateAsync([FromRoute] string id, [FromBody] UserDto viewModel) { var user = await _userManager.FindByIdAsync(id); if (user != null) { var claims = await _userManager.GetClaimsAsync(user); var activeClaim = claims.FirstOrDefault(_ => _.Type == "isactive"); var newActiveClaim = new Claim("isactive", viewModel.IsActive.ToString()); if (activeClaim != null) { var identityResult = await _userManager.ReplaceClaimAsync(user, activeClaim, newActiveClaim); if (!identityResult.Succeeded) { return(EasyResult.Error("修改用户状态失败")); } } else { var identityResult = await _userManager.AddClaimAsync(user, newActiveClaim); if (!identityResult.Succeeded) { return(EasyResult.Error("修改用户状态失败")); } } } return(EasyResult.Ok()); }
public IActionResult Add([FromBody] MenuDto viewModel) { var sameCodePermission = AdminDbContext.Menus .FirstOrDefault(_ => _.ParentId == viewModel.ParentId && _.Code == viewModel.Code); if (sameCodePermission != null) { return(EasyResult.Error("编码已存在")); } var sort = AdminDbContext.Menus.Count(_ => _.ParentId == viewModel.ParentId) + 1; var entity = new Menu { Code = viewModel.Code, ParentId = viewModel.ParentId, Name = viewModel.Name, Path = viewModel.Path, Type = viewModel.Type, Remarks = viewModel.Remarks, Id = Guid.NewGuid().ToString(), Sort = sort, Icon = viewModel.Icon }.OpsBeforeAdd <Menu>(HttpContext); AdminDbContext.Menus.Add(entity); AdminDbContext.SaveChanges(); return(EasyResult.Ok()); }
public async Task <IActionResult> AddUserAsync([FromBody] UserDto viewModel) { var user = await _userManager.FindByNameAsync(viewModel.UserName); if (user != null) { return(EasyResult.Error("用户已存在")); } user = new IdentityUser { UserName = viewModel.UserName, Email = viewModel.Email, PhoneNumber = viewModel.Mobile }; var addResult = await _userManager.CreateAsync(user); if (!addResult.Succeeded) { return(EasyResult.Error("新增用户失败")); } _userManager.PasswordHasher.HashPassword(user, viewModel.Password); return(EasyResult.Ok()); }
public async Task <IActionResult> GetUserByIdAsync([FromRoute] string id) { var user = await _userManager.FindByIdAsync(id); UserDto result = null; if (user != null) { var claims = await _userManager.GetClaimsAsync(user); var isActive = claims.FirstOrDefault(_ => _.Type == "isactive")?.Value == null ? false : bool.Parse(claims.FirstOrDefault(_ => _.Type == "isactive").Value); var role = string.IsNullOrWhiteSpace(claims.FirstOrDefault(_ => _.Type == "role")?.Value) ? "游客" : claims.FirstOrDefault(_ => _.Type == "role")?.Value; result = new UserDto { Id = id, Email = user.Email, IsActive = isActive, Mobile = user.PhoneNumber, Role = role, UserName = user.UserName }; } return(EasyResult.Ok(result)); }
public IActionResult MovePosition([FromRoute] string id, [FromQuery] string action) { var entity = AdminDbContext.Menus.FirstOrDefault(_ => _.Id == id); if (entity != null) { if (action == "up") { var previousEntity = AdminDbContext.Menus.FirstOrDefault(_ => _.ParentId == entity.ParentId && _.Sort == entity.Sort - 1); if (previousEntity != null) { previousEntity.Sort += 1; entity.Sort -= 1; } AdminDbContext.SaveChanges(); } if (action == "down") { var nextEntity = AdminDbContext.Menus.FirstOrDefault(_ => _.ParentId == entity.ParentId && _.Sort == entity.Sort + 1); if (nextEntity != null) { nextEntity.Sort -= 1; entity.Sort += 1; } AdminDbContext.SaveChanges(); } return(EasyResult.Ok()); } return(EasyResult.Ok()); }
public async Task <IActionResult> Delete([FromRoute] string id) { var entity = await _roleManager.FindByIdAsync(id); if (entity != null) { await _roleManager.DeleteAsync(entity); } return(EasyResult.Ok()); }
public async Task <IActionResult> Add([FromBody] RoleDto dto) { var entity = new IdentityRole { Name = dto.Name }; await _roleManager.CreateAsync(entity); return(EasyResult.Ok()); }
public async Task <IActionResult> Update([FromRoute] string id, [FromBody] RoleDto dto) { var entity = await _roleManager.FindByIdAsync(id); if (entity != null) { entity.Name = dto.Name; await _roleManager.UpdateAsync(entity); } return(EasyResult.Ok()); }
public IActionResult GetAll([FromQuery] string scope) { var entities = AdminDbContext.Menus.ToList(); if (scope == "menu") { entities = entities.Where(_ => _.Type == PermissionType.菜单).ToList(); } var result = ConvertEntitiesToTree(entities); return(EasyResult.Ok(result)); }
public async Task <IActionResult> DeleteUserAsync([FromRoute] string id) { var user = await _userManager.FindByIdAsync(id); if (user != null) { var result = await _userManager.DeleteAsync(user); if (!result.Succeeded) { return(EasyResult.Error("删除用户失败")); } } return(EasyResult.Ok()); }
public async Task <IActionResult> Get([FromRoute] string id) { var entity = await _roleManager.FindByIdAsync(id); if (entity != null) { var result = new RoleDto { Id = id, Name = entity.Name }; return(EasyResult.Ok(result)); } return(EasyResult.Ok()); }
public IActionResult List([FromQuery] int pageIndex, int pageSize, string keywords) { var roles = _roleManager.Roles; if (!string.IsNullOrWhiteSpace(keywords)) { roles = roles.Where(_ => _.Name.Contains(keywords)); } int total = roles.Count(); int skip = (pageIndex - 1) * pageSize; roles = roles.Skip(skip).Take(pageSize); return(EasyResult.PagedList(roles, total)); }
public async Task <IActionResult> UpdateUserAsync([FromRoute] string id, [FromBody] UserDto viewModel) { var user = await _userManager.FindByIdAsync(id); if (user != null) { user.PhoneNumber = viewModel.Mobile; user.Email = viewModel.Email; var result = await _userManager.UpdateAsync(user); if (!result.Succeeded) { return(EasyResult.Error("更新用户失败")); } } return(EasyResult.Ok()); }
public async Task <IActionResult> Login([FromBody] LoginViewModel vm) { var user = await _userManager.FindByNameAsync(vm.Username); if (user != null) { var signInResult = await _signInManager.PasswordSignInAsync(user, vm.Password, false, false); if (signInResult.Succeeded) { return(EasyResult.Ok()); } return(EasyResult.Error("用户名或密码错误")); } return(EasyResult.Error("用户名或密码错误")); }
public IActionResult Update([FromRoute] string id, [FromBody] MenuDto viewModel) { var entity = AdminDbContext.Menus.FirstOrDefault(_ => _.Id == id); if (entity != null) { entity.Code = viewModel.Code; entity.Name = viewModel.Name; entity.Path = viewModel.Path; entity.Type = viewModel.Type; entity.Remarks = viewModel.Remarks; entity.Icon = viewModel.Icon; AdminDbContext.Menus.Update(entity); AdminDbContext.SaveChanges(); } return(EasyResult.Ok()); }
public IActionResult Delete([FromRoute] string id) { var entity = AdminDbContext.Menus.FirstOrDefault(_ => _.Id == id); if (entity != null) { var hasChildren = AdminDbContext.Menus.Count(_ => _.ParentId == id) > 0; if (hasChildren) { return(EasyResult.Error("存在子级,不允许删除")); } AdminDbContext.Menus.Remove(entity); AdminDbContext.SaveChanges(); } return(EasyResult.Ok()); }
public async Task <IActionResult> GetUserList([FromQuery] int pageIndex, int pageSize, string keywords) { var users = _userManager.Users; if (!string.IsNullOrWhiteSpace(keywords)) { users = users.Where(_ => _.UserName.Contains(keywords, StringComparison.CurrentCultureIgnoreCase)); } int total = users.Count(); int skip = (pageIndex - 1) * pageSize; var pagedUsers = users.Skip(skip).Take(pageSize).ToList(); var result = new List <UserDto>(); foreach (var user in pagedUsers) { var claims = await _userManager.GetClaimsAsync(user); var isActive = claims.FirstOrDefault(_ => _.Type == "isactive")?.Value == null ? false : bool.Parse(claims.FirstOrDefault(_ => _.Type == "isactive").Value); var role = string.IsNullOrWhiteSpace(claims.FirstOrDefault(_ => _.Type == "role")?.Value) ? "游客" : claims.FirstOrDefault(_ => _.Type == "role")?.Value; result.Add(new UserDto { Id = user.Id, Mobile = user.PhoneNumber, Email = user.Email, IsActive = isActive, UserName = user.UserName, Role = role }); } return(EasyResult.PagedList(result, total)); }
public IActionResult GetById([FromRoute] string id) { var entity = AdminDbContext.Menus.FirstOrDefault(_ => _.Id == id); if (entity != null) { var result = new MenuDto { Id = entity.Id, ParentId = entity.ParentId, Code = entity.Code, Name = entity.Name, Path = entity.Path, Remarks = entity.Remarks, Type = entity.Type, Icon = entity.Icon }; return(EasyResult.Ok(result)); } return(EasyResult.Ok()); }