private async Task <TokenDto> GenerateJwtToken(string email, MODUser user) { var roles = await userManager.GetRolesAsync(user); var role = roleManager.Roles.SingleOrDefault(r => r.Name == roles.SingleOrDefault()); var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Sub, email), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(ClaimTypes.NameIdentifier, user.Id), new Claim(ClaimTypes.Role, role.Name) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes( configuration["JwtKey"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var expires = DateTime.Now.AddDays( Convert.ToDouble(configuration["JwtExpireDays"])); var token = new JwtSecurityToken( configuration["JwtIssuer"], configuration["JwtIssuer"], claims, expires: expires, signingCredentials: creds); var response = new TokenDto { Key = new JwtSecurityTokenHandler().WriteToken(token), Email = email }; return(response); }
public async Task <IActionResult> Register([FromBody] RegisterDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new MODUser { FirstName = model.FirstName, LastName = model.LastName, UserName = model.Email, Email = model.Email, Gender = model.Gender, LinkedInUrl = model.LinkedInUrl, YearsOfExp = model.YearsOfExp }; var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { //role var roleName = roleManager.Roles.FirstOrDefault(r => r.Id == model.Role.ToString()).NormalizedName; var reslt1 = await userManager.AddToRoleAsync(user, roleName); if (reslt1.Succeeded) { return(Created("Register", new { Message = "Registered Successfully" })); } return(BadRequest(reslt1.Errors)); } return(BadRequest(result.Errors)); }
public bool UpdateMentor(MODUser mentor) { try { var user = context.MODUsers.Find(mentor.Id); user.FirstName = mentor.FirstName; user.LastName = mentor.LastName; user.Email = mentor.Email; user.Gender = mentor.Gender; user.DateOfBirth = mentor.DateOfBirth; user.YearsOfExp = mentor.YearsOfExp; user.LinkedInUrl = mentor.LinkedInUrl; context.MODUsers.Update(user); int result = context.SaveChanges(); if (result > 0) { return(true); } return(false); } catch (Exception) { throw; } }
public async Task <IActionResult> Register([FromBody] RegisterDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new MODUser { Name = model.user_name, UserName = model.email_id, Email = model.email_id, DateOfBirth = model.dob, Status = model.status }; var result = await userManager.CreateAsync(user, model.pass_word); if (result.Succeeded) { //role var roleName = roleManager.Roles.FirstOrDefault( r => r.Id == model.Role.ToString()).NormalizedName; var reslt1 = await userManager.AddToRoleAsync(user, roleName); if (reslt1.Succeeded) { return(Created("Register", new { Message = "Registered Successfully" })); } return(BadRequest(reslt1.Errors)); } return(BadRequest(result.Errors)); }
public IActionResult Put(string id, [FromBody] MODUser user) { if (ModelState.IsValid && id == user.Id) { bool result = studentrepository.UpdateStudent(user); if (result) { return(Ok()); } return(StatusCode(StatusCodes.Status500InternalServerError)); } return(BadRequest(ModelState)); }
public bool UnblockUser(MODUser user) { try { context.MODUsers.Update(user); int result = context.SaveChanges(); if (result > 0) //result>0 since result has no.of records updated { return(true); } return(false); } catch (Exception) { throw; } }
public bool DeleteUser(MODUser user) { try { context.MODUsers.Remove(user); int result = context.SaveChanges(); if (result > 0) { return(true); } return(false); } catch (Exception ex) { throw; } }
public async Task <IActionResult> Register([FromBody] RegisterDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new MODUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, Skills = model.Skills, Experience = model.Experience, PhoneNumber = model.PhoneNumber, Active = true }; var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { //role var roleName = roleManager.Roles.FirstOrDefault( r => r.Id == model.Role.ToString()).NormalizedName; var result1 = await userManager.AddToRoleAsync(user, roleName); if (result1.Succeeded) { // return Created("Registered", model.Email); var response = await GenerateJwtToken(model.Email, user); return(Ok(response)); } return(BadRequest(result1.Errors)); } return(BadRequest(new { Message = "Invalid Credentials." })); }
public async Task <IActionResult> Register([FromBody] RegisterDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new MODUser { Fname = model.Fname, Lname = model.Lname, UserName = model.Email, Email = model.Email }; var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { //role var roleName = roleManager.Roles.FirstOrDefault( r => r.Id == model.Role.ToString()).NormalizedName; var result1 = await userManager.AddToRoleAsync(user, roleName); if (result1.Succeeded) { //return Created("Register", new { Message = "Registered Successfully" }); var response = await GenerateJwtToken(user); return(Ok(response)); } return(BadRequest(result1.Errors)); } return(BadRequest(result.Errors)); }
public async Task <IActionResult> Register([FromBody] RegisterDTO model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new MODUser { FirstName = model.FirstName, LastName = model.LastName, UserName = model.Email, Email = model.Email, Gender = model.Gender, DateOfBirth = model.DateOfBirth, PhoneNumber = model.PhoneNumber, LinkedInProfile = model.LinkedInProfile, Experience = model.Experience }; var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { // role name var roleName = roleManager.Roles. FirstOrDefault(r => r.Id == model.Role.ToString()).NormalizedName; var res = await userManager.AddToRoleAsync(user, roleName); if (res.Succeeded) { return(Created("Register", new { Message = "User successfully registered", Email = model.Email, Role = model.Role })); } return(BadRequest(res.Errors)); } return(BadRequest(result.Errors)); }
public bool UpdateStudent(MODUser student) { try { var user = context.MODUsers.Find(student.Id); user.FirstName = student.FirstName; user.LastName = student.LastName; user.Email = student.Email; user.Gender = student.Gender; user.DateOfBirth = student.DateOfBirth; context.MODUsers.Update(user); int result = context.SaveChanges(); if (result > 0) { return(true); } return(false); } catch (Exception) { throw; } }