Ejemplo n.º 1
0
        public async Task <IActionResult> Register([FromBody] UserIM userData)
        {
            var user = await _userManager.FindByNameAsync(userData.Email);

            if (user != null)
            {
                return(BadRequest("user already registered"));
            }
            var hasher  = new PasswordHasher <IdentityUser>();
            var newUser = new IdentityUser
            {
                UserName       = userData.Email,
                Email          = userData.Email,
                EmailConfirmed = true,
                PasswordHash   = hasher.HashPassword(null, userData.Password)
            };
            var result = await _userManager.CreateAsync(newUser);

            if (result.Succeeded)
            {
                return(CreatedAtAction("GetAccount", new { id = newUser.Id }, newUser));
            }
            else
            {
                return(BadRequest(result.Errors));
            }
        }
Ejemplo n.º 2
0
        public JsonResult Create(UserIM model)
        {
            if (!ModelState.IsValid)
            {
                var errorMes = GetModelErrorMessage();
                AR.Setfailure(errorMes);
                return(Json(AR));
            }


            var result = _userServices.CreateUser(model.UserName, model.Email, model.Password, model.DisplayName);

            if (result == 1)
            {
                AR.Setfailure(Messages.CannotRegisterEmail);
                return(Json(AR));
            }

            if (result == 2)
            {
                AR.Setfailure(Messages.CannotRegisterUserName);
                return(Json(AR));
            }


            //int count;
            //int pageSize = SettingsManager.User.PageSize;
            //var list = _userServices.GetPagedElements(0, pageSize, string.Empty, null, null, null, out count);
            //List<UserVM> userList = _mapper.Map<List<User>, List<UserVM>>(list);
            //AR.Data = RenderPartialViewToString("_UserList", list);
            AR.Id = "0";
            AR.SetSuccess(string.Format(Messages.AlertCreateSuccess, EntityNames.User));
            return(Json(AR));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Login([FromBody] UserIM userData)
        {
            var result = await _signInManager.PasswordSignInAsync(userData.Email, userData.Password, false, false);

            if (result.Succeeded)
            {
                var user = await _userManager.FindByNameAsync(userData.Email);

                AuthorizationToken token = GenerateJSONWebToken(user);
                return(Ok(token));
            }
            return(Unauthorized());
        }
        public async Task <IActionResult> Login([FromBody] UserIM userData)
        {
            var userName = await _userManager.Users.Where(u => u.Email == userData.Email).FirstOrDefaultAsync();

            var result = await _signInManager.PasswordSignInAsync(userName.UserName, userData.Password, false, false);

            if (result.Succeeded)
            {
                var user = await _userManager.FindByEmailAsync(userData.Email);

                AuthorizationToken token = GenerateJSONWebToken(user);
                return(Ok(token));
            }
            return(Unauthorized());
        }
        public async Task <IActionResult> ForgotPassword([FromBody] UserIM userData)
        {
            var user = await _userManager.Users.Where(u => u.Email == userData.Email).FirstOrDefaultAsync();

            var code = await _userManager.GeneratePasswordResetTokenAsync(user);

            string origin = Request.Headers["origin"];
            var    link   = $"{origin}/password/reset?token={code}";

            await _emailSender.SendEmailAsync(
                userData.Email,
                "Zapomenuté heslo na Glidingcontest.eu",
                $"Dobrý den {user.FullName}, \nodkaz na obnovení hesla: {link} \n\n Glidingcontest.eu.");

            return(Ok());
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> PutUser([FromRoute] Guid id, [FromBody] UserIM user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != user.Id)
            {
                return(BadRequest());
            }

            if (_context.Users.Where(d => d.Email == user.Email && d.Id != id).Any())
            {
                return(BadRequest("此邮箱已被注册!"));
            }

            var model = await _context.Users.FirstOrDefaultAsync(d => d.Id == id);

            model = _mapper.Map(user, model);
            if (model.Birthday == DateTime.MinValue)
            {
                model.Birthday = null;
            }

            _context.Entry(model).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok("用户资料已成功修改"));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> UpdateProfile([FromRoute] Guid id, [FromBody] UserIM user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != user.Id)
            {
                return(BadRequest("资料修改失败"));
            }

            var strUserId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.Sid).Value;
            var userId    = new Guid(strUserId);

            if (userId != user.Id)
            {
                return(BadRequest("不是当前用户"));
            }

            if (_context.Users.Where(d => d.Email == user.Email && d.Id != id).Any())
            {
                return(BadRequest("此邮箱已被注册!"));
            }

            var model = await _context.Users.FirstOrDefaultAsync(d => d.Id == id);

            model = _mapper.Map(user, model);
            if (model.Birthday == DateTime.MinValue)
            {
                model.Birthday = null;
            }

            _context.Entry(model).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(Ok("资料已成功修改"));
        }
Ejemplo n.º 8
0
        // GET: User/Create
        public ActionResult Create()
        {
            UserIM vm = new UserIM();

            return(PartialView("_UserCreate", vm));
        }