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;
            }
        }
示例#2
0
        // 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));
        }
示例#3
0
        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));
        }
示例#4
0
        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"));
            }
        }
示例#6
0
        public async Task <IActionResult> AddAdmin(UserAdminInfo userAdminInfo)
        {
            var data = await userService.AddAdmin(userAdminInfo);

            return(Json(data));
        }
示例#7
0
        public async Task <IActionResult> UpdateAdmin(UserAdminInfo userAdminInfo)
        {
            var data = await userService.UpdateAdmin(userAdminInfo, GetUserSession().user_id);

            return(Json(data));
        }