public async Task <IActionResult> Login(LoginPatientViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var signInResult = await _signInManager.PasswordSignInAsync(model.Name, model.Password, true, false); if (signInResult.Succeeded) { ViewData["Status"] = $"Zalogowano"; return(RedirectToAction("Index", "Home")); } ModelState.AddModelError("", "Niepoprawne dane logowania."); return(View(model)); }
public ActionResult LoginPatient(LoginPatientViewModel user) { if (!ModelState.IsValid) { return(View(user)); } var cardNumberCheck = db.AspNetUsers.FirstOrDefault(u => u.cardNumber == user.cardNumber); if (cardNumberCheck != null) { if (db.Patients.Find(user.cardNumber) != null) { var getName = db.Patients.Where(u => u.cardNumber == user.cardNumber).Select(u => u.firstName); var materName = getName.ToList(); var firstName = materName[0]; var getName1 = db.Patients.Where(u => u.cardNumber == user.cardNumber).Select(u => u.lastName); var materName1 = getName1.ToList(); var lastName = materName1[0]; var getPassword = db.AspNetUsers.Where(u => u.cardNumber == user.cardNumber).Select(u => u.Password); var materializePassword = getPassword.ToList(); var password = materializePassword[0]; var encryptedPass = CustomEncrypt.Encrypt(user.Password); if (encryptedPass == password) { var getId = db.AspNetUsers.Where(u => u.cardNumber == user.cardNumber).Select(u => u.Id); var materializeId = getId.ToList(); var id = materializeId[0]; var getCardNumber = db.AspNetUsers.Where(u => u.cardNumber == user.cardNumber).Select(u => u.cardNumber); var materializeEmail = getCardNumber.ToList(); var cardNumber = materializeEmail[0]; var idRole = db.AspNetUsers.Where(u => u.cardNumber == user.cardNumber).Select(u => u.idRole); var materializeRole = idRole.ToList(); var role = materializeRole[0]; var roleName = db.AspNetRoles.Find(role).Name.ToString(); var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.NameIdentifier, id.ToString()), new Claim(ClaimTypes.Name, firstName + " " + lastName), new Claim(ClaimTypes.Email, cardNumber), new Claim(ClaimTypes.Role, roleName) }, "ApplicationCookie"); var ctx = Request.GetOwinContext(); var accountManager = ctx.Authentication; accountManager.SignIn(identity); TempData["SuccessRegistration"] = "You signed in into your account as "; return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "The username or password is incorrect"); } } else { ModelState.AddModelError("", "The username or password is incorrect"); } } return(View(user)); }