public async Task <IActionResult> Register([FromBody] RegisterViewModel model) { try { //Number to be registered var numberToBeRegistered = _candidate.GetNumberToBeRegistered("Enroll"); //Number already registered var successfullyRegistered = _candidate.GetNumberSuccessfullyRegistered("Enroll"); //Number already failed var failedRegistered = _candidate.GetNumberFailedRegistered("Enroll"); //Total number of register and failed var totalRegistered = successfullyRegistered + failedRegistered + 1; var totalRegisteredInDb = successfullyRegistered + failedRegistered; int success = 0; int failed = 0; var password = ""; //Generated password that will be shown to the admin alone if (successfullyRegistered == 0) { password = RandomPassword.GenerateRandomPassword(new PasswordOptions()); } else { password = _candidate.GetGeneratedPassword("Enroll"); } if (totalRegisteredInDb < numberToBeRegistered) { var user = _candidate.GetUserViewModel(model); var result = await _userManager.CreateAsync(user, password); if (result.Succeeded) { //Update the number already registered and password await _userManager.AddToRoleAsync(user, "UploadedStudent"); success = successfullyRegistered + 1; _candidate.UpdateExamSettingAfterSuccessfulRegisteration(success, password, "Enroll"); return(Ok(new { success = RepsonseMessages.PrintResponseMessage("AuthRegister.Success") })); } else { //Update the number that failed and password failed = failedRegistered + 1; _candidate.UpdateExamSettingFailedRegisteration(failed, "Enroll"); return(BadRequest(new { error = result.Errors })); } } } catch (Exception ex) { return(BadRequest(new { error = ex.Message })); } return(BadRequest(new { error = RepsonseMessages.PrintResponseMessage("AuthRegister.Error") })); }
public IActionResult GetUserClaims() { try { var userId = User.Claims.SingleOrDefault(c => c.Type == "UserId").Value; var userObject = _candidate.GetUserCLaims(userId); return(Ok(userObject)); } catch { return(BadRequest(new { error = RepsonseMessages.PrintResponseMessage("CandidateGetUserClaims.Error") })); } }
public IActionResult GetCategoryList() { var categoryList = _candidate.GetCatgoryList(); if (categoryList.Count > 0) { return(Ok(categoryList)); } else { return(BadRequest(new { error = RepsonseMessages.PrintResponseMessage("AuthGetToggleSetting.Error") })); } }
public IActionResult GetExamQuestionModel(string timeLookUp) { var userId = User.Claims.SingleOrDefault(c => c.Type == "UserId").Value; var model = _candidate.GetExamQuestionModels(userId, timeLookUp); if (model != null) { return(Ok(model)); } else { return(BadRequest(new { error = RepsonseMessages.PrintResponseMessage("CandidateGetQuestions.Error") })); } }
public IActionResult SubmitExamQuestionModel(List <ExamQuestions> examArrays) { var userId = User.Claims.SingleOrDefault(c => c.Type == "UserId").Value; if (examArrays != null && examArrays.Count() > 0) { var examResult = _candidate.SubmitExamQuestions(userId, examArrays); if (examResult != null) { return(Ok(examResult)); } else { return(BadRequest(new { error = RepsonseMessages.PrintResponseMessage("CandidateGetQuestions.Error") })); } } return(BadRequest(new { error = RepsonseMessages.PrintResponseMessage("CandidateGetQuestions.Error") })); }
public async Task <IActionResult> Login([FromBody] LoginViewModel model) { try { var user = await _userManager.FindByNameAsync(model.Username); if (user != null && await _userManager.CheckPasswordAsync(user, model.Password)) { var identityClaim = (ClaimsIdentity)User.Identity; identityClaim.AddClaim(new Claim("UserId", user.Id)); var signingKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("very_long_very_secret_secret")); int expiryInMinutes = Convert.ToInt32(_configuration["jwt:ExpiryInMinutes"]); var token = new JwtSecurityToken( issuer: "issuer", audience: "audience", expires: DateTime.UtcNow.AddMinutes(5), signingCredentials: new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256), claims: identityClaim.Claims ); return(Ok( new { token = new JwtSecurityTokenHandler().WriteToken(token), expiration = token.ValidTo, roles = await _userManager.GetRolesAsync(user) })); } else { return(BadRequest(new { error = RepsonseMessages.PrintResponseMessage("AuthLogin.Error") })); } } catch (Exception ex) { return(BadRequest(new { error = RepsonseMessages.PrintResponseMessage("AuthLogin.Error") })); } }