Exemplo n.º 1
0
        public async Task <JsonResult> Register(RegisterViewModel user)
        {
            FormValidationViewModel validation = new FormValidationViewModel();

            if (!ModelState.IsValid)
            {
                validation.Valid = false;
                validation.Error = "Invalid registration attempt.";
                return(Json(validation));
            }

            UserRole        role    = user.IsEditor ? UserRole.Editor : UserRole.Viewer;
            ApplicationUser appUser = new ApplicationUser {
                FirstName   = user.FirstName, LastName = user.LastName,
                UserName    = user.UserName, Email = user.Email,
                PhoneNumber = user.PhoneNumber, Role = role,
            };
            IdentityResult identityResult =
                await _userManager.CreateAsync(appUser, user.Password);

            if (!identityResult.Succeeded)
            {
                validation.Valid = false;
                validation.Error = "Username already exists.";
                return(Json(validation));
            }

            SignInResult signInResult = await _signInManager.PasswordSignInAsync(
                user.UserName, user.Password, false, false);

            return(Json(validation));
        }
Exemplo n.º 2
0
        public async Task <JsonResult> Login(LoginViewModel user)
        {
            FormValidationViewModel validation = new FormValidationViewModel();

            if (!ModelState.IsValid)
            {
                validation.Valid = false;
                validation.Error = "Invalid login attempt.";
                return(Json(validation));
            }

            SignInResult result = await _signInManager.PasswordSignInAsync(
                user.UserName, user.Password, user.RememberMe, false);

            if (!result.Succeeded)
            {
                validation.Valid = false;
                validation.Error = "Invalid username or password.";
                return(Json(validation));
            }

            return(Json(validation));
        }