public async Task <Authmodel> RegisterAsync(Registermodel rm) { if (await _user.FindByEmailAsync(rm.Email) != null) { return new Authmodel { Message = "This email is exist Before" } } ; if (await _user.FindByNameAsync(rm.Username) != null) { return new Authmodel { Message = "This Username is exist Before" } } ; var user = new users() { firstName = rm.Firstname, lastName = rm.Lastname, Email = rm.Email, UserName = rm.Username, DeptId = 100 }; var result = await _user.CreateAsync(user, rm.Password); if (!result.Succeeded) { var errs = ""; foreach (var item in result.Errors) { errs = $"{item.Description} , "; } return(new Authmodel { Message = errs }); } await _user.AddToRoleAsync(user, "Student"); //To make user login Automatic var token = await Generatetoken(user); return(new Authmodel { Email = user.Email, Tokenlife = token.ValidTo, IsAuthenticated = true, Roles = new List <string> { "Student" }, Token = new JwtSecurityTokenHandler().WriteToken(token), Username = user.UserName, DeptID = user.DeptId }); }
public async Task <IActionResult> Register([FromBody] Registermodel rm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var res = await _auth.RegisterAsync(rm); if (!res.IsAuthenticated) { return(BadRequest(res.Message)); } return(Ok(res)); }