public async Task CreateAdmin() { UserAdminInfo adminInfo = new UserAdminInfo(); if (await _userManager.FindByEmailAsync("*****@*****.**") == null) { IdentityRole role = new IdentityRole { Name = "Admin" }; User user = new User { Email = "*****@*****.**", UserName = "******", DisplayName = "RootAdmin", Address = "Iran-Tehran", PhoneNumber = "09991234567", PersonelId = "123455667", NationalCode = "1234567891", ShowPass = "******", }; await _roleManager.CreateAsync(role); var cuser = await _userManager.CreateAsync(user, user.ShowPass); await _userManager.AddToRoleAsync(user, "Admin"); adminInfo.Email = user.Email; adminInfo.Password = user.ShowPass; } }
// GET: ApplicationUsers public async Task <ActionResult> Index() { if (!User.IsInRole("Administrator")) { return(RedirectToAction("Warning", "Home", new { message = "ACCESS DENIED - Adminstrator Only " })); } List <UserAdminInfo> userAdminInfo = new List <UserAdminInfo>(); var applicationUsers = db.Users.Include(a => a.Vendor); foreach (var item in applicationUsers) { var roles = await UserManager.GetRolesAsync(item.Id); UserAdminInfo temp = new UserAdminInfo { User = item, Roles = roles.ToList() }; userAdminInfo.Add(temp); } return(View(userAdminInfo)); }
public async Task <BaseResult <bool> > AddAdmin(UserAdminInfo userAdminInfo) { //判断数据库中有没有邮箱(user_email)和电话(user_phone),如果存在则不能添加,提示错误 int count = await userRepository.CountAsync(c => c.user_email == userAdminInfo.user_email || c.user_phone == userAdminInfo.user_phone); if (count >= 1) { return(new BaseResult <bool>(1003, false)); } //同步添加三个数据库 User和UserInfo和部门表 UserEntity userEntity = new UserEntity(); userEntity.user_pwd = CommonUtil.Md5(userAdminInfo.user_pwd); userEntity.user_name = userAdminInfo.user_name; userEntity.full_name = userAdminInfo.full_name; userEntity.user_code = CommonUtil.ReadRandom("#", 4, 9); userEntity.user_email = userAdminInfo.user_email; userEntity.user_phone = userAdminInfo.user_phone; userEntity.user_gender = userAdminInfo.user_gender; userEntity.user_ip = httpContextUtil.getRemoteIp(); userEntity.source_type = (int)SourceStatus.admin; //todo 不知道为什么访问始终有问题,不能添加新的 userEntity.user_activation = (int)DisableStatus.disable_false; userEntity.user_visit = (int)DisableStatus.disable_false; UserInfoEntity userInfoEntity = new UserInfoEntity(); userInfoEntity.user_id = userEntity.user_id; var isUserTrue = await userRepository.AddAsync(userEntity, false); var isUserInfoTrue = await userInfoRepository.AddAsync(userInfoEntity, false); if (userAdminInfo.department_id.Count > 0) { List <UserDepartmentEntity> userDepartmentEntitys = new List <UserDepartmentEntity>(); foreach (string deparmentId in userAdminInfo.department_id) { if (deparmentId != null) { UserDepartmentEntity userDepartmentEntity = new UserDepartmentEntity(); userDepartmentEntity.user_id = userEntity.user_id; userDepartmentEntity.department_id = deparmentId; userDepartmentEntitys.Add(userDepartmentEntity); } } var isUserDepartmentTrue = await userDepartmentRepository.AddListAsync(userDepartmentEntitys, false); } if (unitOfWork.SaveCommit()) { return(new BaseResult <bool>(200, true)); } return(new BaseResult <bool>(201, false)); }
public async Task <BaseResult <bool> > UpdateAdmin(UserAdminInfo userAdminInfo, string user_id) { //逻辑:登录的用户如果=admin,则可以修改admin,否则不能修改admin if (userAdminInfo.user_id.Equals("66dbea2b41dd47a1a81eef2e5dc2af0e")) { if (!user_id.Equals("66dbea2b41dd47a1a81eef2e5dc2af0e")) { return(new BaseResult <bool>(1007, false)); } } //判断数据库中有没有用户名(login_name)邮箱(user_email)和电话(user_phone),如果存在则不能添加,提示错误 int count = await userRepository.CountAsync(c => c.user_id != userAdminInfo.user_id && (c.user_email == userAdminInfo.user_email || c.user_phone == userAdminInfo.user_phone)); if (count >= 1) { return(new BaseResult <bool>(1003, false)); } //同步修改两个数据库,用户表和用户部门表 UserEntity userEntity = new UserEntity(); userEntity.user_id = userAdminInfo.user_id; userEntity.user_name = userAdminInfo.user_name; userEntity.full_name = userAdminInfo.full_name; userEntity.user_email = userAdminInfo.user_email; userEntity.user_phone = userAdminInfo.user_phone; userEntity.user_gender = userAdminInfo.user_gender; var isTrue = await userRepository.UpdateAsync(userEntity, false, true, c => c.user_name, c => c.full_name, c => c.user_email, c => c.user_phone, c => c.user_gender); //先根据用户Id删除用户部门表里面所有的用户信息然后再添加 var isDeleteUserDetrue = await userDepartmentRepository.DeleteByUserId(userAdminInfo.user_id); if (userAdminInfo.department_id.Count > 0) { List <UserDepartmentEntity> userDepartmentEntitys = new List <UserDepartmentEntity>(); foreach (string deparmentId in userAdminInfo.department_id) { if (deparmentId != null) { UserDepartmentEntity userDepartmentEntity = new UserDepartmentEntity(); userDepartmentEntity.user_id = userEntity.user_id; userDepartmentEntity.department_id = deparmentId; userDepartmentEntitys.Add(userDepartmentEntity); } } var isUserDepartmentTrue = await userDepartmentRepository.AddListAsync(userDepartmentEntitys, false); } if (unitOfWork.SaveCommit()) { return(new BaseResult <bool>(200, true)); } return(new BaseResult <bool>(201, false)); }
public async Task <ActionResult> CreateAdmin(UserAdminInfo userinfo) { using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://localhost:44349"); string type = (userinfo.Type == 1) ? "true" : "false"; /*Mandar Token en el Header*/ var ck = ControllerContext.HttpContext.Request.Cookies["Token"]; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ck); var postTask = await client.PostAsJsonAsync <UserInfo>($"api/Accounts/CreateAdmin/{type}", userinfo); if (postTask.IsSuccessStatusCode) { return(RedirectToAction("AdminInfo")); } ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator."); return(View("CreateAdmin")); } }
public async Task <IActionResult> AddAdmin(UserAdminInfo userAdminInfo) { var data = await userService.AddAdmin(userAdminInfo); return(Json(data)); }
public async Task <IActionResult> UpdateAdmin(UserAdminInfo userAdminInfo) { var data = await userService.UpdateAdmin(userAdminInfo, GetUserSession().user_id); return(Json(data)); }