Guest User

Untitled

a guest
May 12th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. $("#btnLogin").click(function () {
  2. var emailModal = $("#txtEmail").val();
  3. var senhaModal = $("#txtSenha").val();
  4. var remembermeModal = false;
  5.  
  6.  
  7. $.ajax({
  8. url: "/Agendamento/LoginModal",
  9. type: "POST",
  10. data: {
  11. "email": emailModal,
  12. "senha": senhaModal,
  13. "rememberme": remembermeModal
  14.  
  15. },
  16. success: function (data) {
  17. $("#LoginTeste").html(data);
  18. }
  19. })
  20.  
  21. public async Task<IActionResult> LoginModal(string email, string senha, bool rememberme)
  22. {
  23. var model = new AgendamentoViemModel();
  24.  
  25. model.Login.Email = email;
  26. model.Login.Password = senha;
  27. model.Login.RememberMe = rememberme;
  28.  
  29.  
  30. if (model.Login.Email.IndexOf('@') > -1)
  31. {
  32. //Validate email format
  33. string emailRegex = @"^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}" +
  34. @".[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+" +
  35. @".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$";
  36. Regex re = new Regex(emailRegex);
  37. if (!re.IsMatch(model.Login.Email))
  38. {
  39. ModelState.AddModelError("Email", "Email is not valid");
  40. }
  41. }
  42. else
  43. {
  44. //validate Username format
  45. string emailRegex = @"^[a-zA-Z0-9]*$";
  46. Regex re = new Regex(emailRegex);
  47. if (!re.IsMatch(model.Login.Email))
  48. {
  49. ModelState.AddModelError("Email", "Username is not valid");
  50. }
  51. }
  52.  
  53.  
  54. if (ModelState.IsValid)
  55. {
  56. var userName = model.Login.Email;
  57. if (userName.IndexOf('@') > -1)
  58. {
  59. var user = await _userManager.FindByEmailAsync(model.Login.Email);
  60. if (user == null)
  61. {
  62. ModelState.AddModelError(string.Empty, "Invalid login attempt.");
  63. return View(model);
  64. }
  65. else
  66. {
  67. userName = user.UserName;
  68. }
  69. }
  70.  
  71. var result = await _signInManager.PasswordSignInAsync(userName, model.Login.Password, model.Login.RememberMe, lockoutOnFailure: false);
  72.  
  73. if (result.Succeeded)
  74. {
  75. _logger.LogInformation("User logged in.");
  76. return PartialView("_LoginPartial", model);
  77.  
  78.  
  79. }
  80. else
  81. {
  82. return new StatusCodeResult(400);
  83. }
  84.  
  85. }
  86.  
  87.  
  88. return View(model);
  89. }
  90.  
  91. <div id="LoginTeste">
  92. @await Html.PartialAsync("_LoginPartial")
  93. <div>
  94.  
  95. </div>
  96. </div>
Add Comment
Please, Sign In to add comment