Ejemplo n.º 1
0
        public async Task <IActionResult> Register([FromBody] CustomRegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                var errors = CustomValidator.GetErrorsByModel(ModelState);
                return(BadRequest(errors));
            }

            var user = new DbUser
            {
                UserName = model.Email,
                Email    = model.Email
            };

            var result = await _userManager
                         .CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                var errors = CustomValidator.GetErrorsByIdentityResult(result);
                return(BadRequest(errors));
            }
            var roleName   = "User";
            var roleresult = _roleManager.CreateAsync(new DbRole
            {
                Name = roleName
            }).Result;

            result = _userManager.AddToRoleAsync(user, roleName).Result;

            _userService.AddUserProfile(user.Id, model);
            await _signInManager.SignInAsync(user, isPersistent : false);

            return(Ok(CreateToken(user)));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Register([FromBody] CustomRegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                var errors = CustomValidator.GetErrorsByModel(ModelState);
                return(BadRequest(errors));
            }
            var user = new DbUser
            {
                UserName = model.Email,
                Email    = model.Email
            };

            var result = await _userManager
                         .CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return(BadRequest("Bad create user!"));
            }

            await _signInManager.SignInAsync(user, isPersistent : false);

            return(Ok(CreateToken(user)));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Register([FromBody] CustomRegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                var errors = CustomValidator.GetErrorsByModel(ModelState);
                return(BadRequest(errors));
            }

            if (!CaptchaHelper.VerifyAndExpireSolution(this.HttpContext, model.CaptchaKey,
                                                       model.CaptchaText))
            {
                var invalid = new Dictionary <string, string>();
                invalid.Add("captchaText", "Error captcha text. Renew captcha and repeat again.");
                return(BadRequest(invalid));
            }

            string path = _fileService.UploadImage(model.ImageBase64);

            var user = new DbUser
            {
                UserName    = model.Email,
                Email       = model.Email,
                DateOfBirth = model.DateOfBirth,
                FirstName   = model.FirstName,
                MiddleName  = model.MiddleName,
                LastName    = model.LastName,
                SignUpTime  = DateTime.Now,
                AvatarUrl   = path
            };

            var result = await _userManager
                         .CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                var errors = CustomValidator.GetErrorsByIdentityResult(result);
                return(BadRequest(errors));
            }
            var roleName = "User";

            var roleresult = _roleManager.CreateAsync(new DbRole
            {
                Name = roleName
            }).Result;

            result = _userManager.AddToRoleAsync(user, roleName).Result;

            await _signInManager.SignInAsync(user, isPersistent : false);

            return(Ok());
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Register([FromBody] CustomRegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                var errors = CustomValidator.GetErrorsByModel(ModelState);
                return(BadRequest(errors));
            }

            string path = _fileService.UploadImage(model.ImageBase64);

            var user = new DbUser
            {
                UserName    = model.Email,
                Email       = model.Email,
                DateOfBirth = model.DateOfBirth,
                FirstName   = model.FirstName,
                MiddleName  = model.MiddleName,
                LastName    = model.LastName,
                SignUpTime  = DateTime.Now,
                AvatarUrl   = path
            };

            var result = await _userManager
                         .CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                var errors = CustomValidator.GetErrorsByIdentityResult(result);
                return(BadRequest(errors));
            }
            var roleName = "User";

            var roleresult = _roleManager.CreateAsync(new DbRole
            {
                Name = roleName
            }).Result;

            result = _userManager.AddToRoleAsync(user, roleName).Result;

            await _signInManager.SignInAsync(user, isPersistent : false);

            return(Ok(_jWTTokenService.CreateToken(_configuration, user, _userManager)));
        }
Ejemplo n.º 5
0
        public void AddUserProfile(string id, CustomRegisterModel model)
        {
            string path      = _fileService.UploadImage(model.ImageBase64);
            var    userImage = new UserImage
            {
                Id   = id,
                Path = path
            };

            _context.UserImages.Add(userImage);
            _context.SaveChanges();

            var userProfile = new UserProfile
            {
                Id          = id,
                FirstName   = model.FirstName,
                MiddleName  = model.MiddleName,
                LastName    = model.LastName,
                DateOfBirth = model.DateOfBirth
            };

            _context.UserProfiles.Add(userProfile);
            _context.SaveChanges();
        }