Esempio n. 1
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 5
0
 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));
 }
Esempio n. 6
0
 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;
     }
 }
Esempio n. 7
0
 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." }));
        }
Esempio n. 9
0
        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;
            }
        }