public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { AppUser svcUser = null; var unEncrytp = HelperExtensions.getPasswordHashed(model.Password); var result = db.Profile .Where(p => p.Username == model.username && p.Password == unEncrytp) .FirstOrDefault(); if (result == null) { ModelState.AddModelError(string.Empty, "El usuario y/o la contraseña es incorrecto."); return(View("Login2", model)); } if (result.Nestado == 91) { ModelState.AddModelError(string.Empty, "Usuario bloqueado."); return(View("Login2", model)); } var roles = db.Profilerole.Where(r => r.Username == model.username).Select(r => r.RoleId).ToArray(); if (roles.Length == 0) { ModelState.AddModelError(string.Empty, "El usuario no tiene permisos asignados, contacte al administrador de sistemas"); return(View("Login2", model)); } var caja = db.Caja.Find(result.CajaId); svcUser = new AppUser() { username = result.Username, ncentrocosto = result.Ncentrocosto, Token = model.Password, roles = roles, cajaid = result.CajaId, description = caja.Description }; await HttpContext.SignInAsync(svcUser.CreatePrincipal()); return(RedirectToLocal(returnUrl)); } return(View("Login2", model)); }