public async Task <Result> LoginUserAsync(LoginVM model) { var user = await _userManager.FindByEmailAsync(model.Email); var result = await _userManager.CheckPasswordAsync(user, model.Password); if (!result || user.Email != model.Email || user == null) { return(Result.GeneralFailure("Email Or Password Wrong")); } if (!user.EmailConfirmed) { return(Result.GeneralFailure("please Check Your Email for Conformation")); } var userRoles = await _userManager.GetRolesAsync(user); var refreshToken = _jwtHandler.CreateRefreshToken(user.Id); var token = _jwtHandler.CreateToken(user, userRoles.FirstOrDefault()); var jwt = new JsonWebToken { Token = token, RefreshToken = refreshToken.Token, }; await _context.RefreshTokens.AddAsync(refreshToken); await _context.SaveChangesAsync(); return(Result.ReturnToken(jwt)); }
public async Task <IActionResult> Create(NewEmpClass nec) { if (ModelState.IsValid) { _db.Add(nec); await _db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(nec)); }