public async Task <IActionResult> Login(LoginViewModel model) { var role = string.Empty; if (ModelState.IsValid) { TblLoginDetails user = ChkLoginCredentials(model); if (user != null) { ViewData["msg"] = "Valid User"; role = await LoginRedirect(user); if (role == "Admin") { return(RedirectToAction("Admin", "User")); } else { return(RedirectToAction("Userdetails", "User")); } } else { ViewData["msg"] = "InValid User"; } } ModelState.Clear(); return(View("Login")); }
public async Task <IActionResult> Register(Registration model, string mode) { ViewData["mode"] = string.Empty; if (ModelState.IsValid) { if (mode == "update") { UpdateUser(uid, model); return(RedirectToAction("Admin", "User")); } else { CreateUser(model); TblLoginDetails user = new TblLoginDetails { UserName = model.EmailID, Password = model.Password, IsAdmin = model.IsAdmin ? "Y" : "N", IsApproved = "N" }; var role = await LoginRedirect(user); if (role == "Admin") { return(RedirectToAction("Admin", "User")); } else { return(RedirectToAction("Userdetails", "User")); } } } return(View("Registration")); }
private async Task <string> LoginRedirect(TblLoginDetails user) { string role; if (user.IsAdmin == "Y") { role = "Admin"; } else { role = "NormalUser"; } var claims = new List <Claim> { new Claim(ClaimTypes.Name, user.UserName), new Claim(ClaimTypes.Role, role) }; var userIdentity = new ClaimsIdentity(claims, "Passport"); var userPrincipal = new ClaimsPrincipal(userIdentity); await HttpContext.Authentication.SignInAsync("MyCookieMiddlewareInstance", userPrincipal, new AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddMinutes(20), IsPersistent = false, AllowRefresh = false } ); return(role); }
public async Task <IActionResult> Reject(int id) { TblLoginDetails login = context.TblLoginDetails.Find(id); login.IsApproved = "N"; context.SaveChanges(); userstatus = await this.RetrieveApprovalStatus(); return(RedirectToAction("Admin")); }
private void ApproveOrReject(int id, string operation) { TblLoginDetails login = context.TblLoginDetails.Find(id); if (operation == "approve" && login.IsApproved == "N") { login.IsApproved = "Y"; } else if (operation == "reject" && login.IsApproved == "Y") { login.IsApproved = "N"; } context.SaveChanges(); }
public void CreateUser(Registration model) { using (var transaction = context.Database.BeginTransaction()) { TblUserDetails user = new TblUserDetails { Fname = model.Fname, Lname = model.Lname, EmailId = model.EmailID, Phone = Convert.ToDecimal(model.Phone), Address = model.Address }; context.TblUserDetails.Add(user); context.SaveChanges(); string adminchk = model.IsAdmin ? "Y" : "N"; TblLoginDetails login = new TblLoginDetails { UserName = model.EmailID, Password = model.Password, IsAdmin = adminchk, UserId = user.UserId }; context.TblLoginDetails.Add(login); context.SaveChanges(); transaction.Commit(); } }
public void UpdateUser(int id, Registration model) { using (var transaction = context.Database.BeginTransaction()) { TblUserDetails user = context.TblUserDetails.Where(u => u.UserId == id).FirstOrDefault(); user.Fname = model.Fname; user.Lname = model.Lname; user.EmailId = model.EmailID; user.Phone = Convert.ToDecimal(model.Phone); user.Address = model.Address; context.SaveChanges(); string adminchk = model.IsAdmin ? "Y" : "N"; TblLoginDetails login = context.TblLoginDetails.Where(u => u.UserId == id).FirstOrDefault(); login.UserName = model.EmailID; login.Password = model.Password; login.IsAdmin = adminchk; context.SaveChanges(); transaction.Commit(); } }