Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }