public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); ProviderDBV2Entities db = new ProviderDBV2Entities(); switch (result) { case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: ModelState.AddModelError("", "Invalid login attempt. User does not exist. Please register as a new user"); return(View(model)); case SignInStatus.Success: var queryOne = (from key in db.AspNetUsers where model.Email == key.Email select key.Id).Single(); var queryThree = (from key in db.AspNetUsers where key.Id == queryOne select key.IsProvider).Single(); if (queryThree.Equals(true)) { var queryOneA = (from key in db.AspNetUsers where model.Email == key.Email select key.Id).Single(); var queryFour = (from key in db.Providers where key.UserName == queryOneA select key.ProviderID).Single(); return(RedirectToAction("Details", "Providers", new { id = queryFour })); } else { var queryOneB = (from key in db.AspNetUsers where model.Email == key.Email select key.Id).Single(); var queryTwo = (from key in db.Customers where key.UserName == queryOneB select key.CustomerID).Single(); return(RedirectToAction("Details", "Customers", new { id = queryTwo })); } default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
public ActionResult CheckAuth() { string userId = User.Identity.GetUserId(); ProviderDBV2Entities db = new ProviderDBV2Entities(); var queryOne = (from key in db.AspNetUsers where userId == key.Id select key.Id).Single(); var queryThree = (from key in db.AspNetUsers where key.Id == queryOne select key.IsProvider).Single(); if (queryThree.Equals(true)) { var queryFour = (from key in db.Providers where key.UserName == queryOne select key.ProviderID).Single(); return(RedirectToAction("Details", "Providers", new { id = queryFour })); } else { var queryTwo = (from key in db.Customers where key.UserName == queryOne select key.CustomerID).Single(); return(RedirectToAction("Details", "Customers", new { id = queryTwo })); } }