Пример #1
0
        public async Task <IActionResult> PostUser([FromBody] UseModel user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            User newUser = new User()
            {
                Name      = user.Name,
                Passsword = user.Passsword,
                Email     = user.Email
            };

            var existsUser = await _context.User.SingleOrDefaultAsync(m => m.Email == user.Email);

            if (existsUser != null)
            {
                ModelState.AddModelError("user exists", "user alrady registered in the system");
                return(BadRequest(ModelState));
            }

            _context.User.Add(newUser);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetUser", new { id = newUser.UserId }, user));
        }
Пример #2
0
        public async Task <IActionResult> Edit(UseModel user)
        {
            OperationResult result = new OperationResult();
            var             res    = await _userServices.FindByUserId(user.ID);

            if (res == null)
            {
                result.Message = "用户不存在";
                return(Json(result));
            }
            res.UserName    = user.UserName.Trim();
            res.PhoneNumber = user.Phone.Trim();
            res.Email       = user.Email.Trim();
            //判断用户是否修改过密码
            if (!user.PassWord.Trim().Equals("q!@*90"))
            {
                res.PasswordHash = await _userServices.HashPwd(res, user.PassWord.Trim());
            }
            bool resbool = await _userServices.Edit(res, user.Roles, user.ExistRole);

            if (!resbool)
            {
                result.Message = "修改失败";
                return(Json(result));
            }
            result.Code = ResultCode.Success;
            result.Data = "修改成功";
            return(Json(result));
        }
Пример #3
0
        public async Task <bool> Create(UseModel model)
        {
            try
            {
                var user = new IdentityUser
                {
                    Id                 = Guid.NewGuid().ToString(),
                    UserName           = model.UserName,
                    NormalizedUserName = model.UserName,
                    Email              = model.Email,
                    PhoneNumber        = model.Phone
                };
                //传入Password并转换成PasswordHash
                IdentityResult result = await _userManager.CreateAsync(user, model.PassWord);

                if (result.Succeeded)
                {
                    if (!string.IsNullOrWhiteSpace(model.Roles))
                    {
                        model.Roles = model.Roles.TrimStart(',');
                        var NameList = new List <string>(model.Roles.Split(','));
                        if (NameList.Count == 0)
                        {
                            return(true);
                        }
                        var resultRole = await _userManager.AddToRolesAsync(user, NameList);

                        if (resultRole.Succeeded)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Пример #4
0
        //[ValidateAntiForgeryToken]
        public async Task <IActionResult> Add(UseModel model)
        {
            OperationResult result = new OperationResult();
            var             res    = await _userServices.FindByName(model.UserName);

            if (res != null)
            {
                result.Message = "用户已经存在";
                return(Json(result));
            }
            bool resbool = await _userServices.Create(model);

            if (!resbool)
            {
                result.Message = "添加失败";
                return(Json(result));
            }
            result.Code = ResultCode.Success;
            result.Data = "添加成功";
            return(Json(result));
        }