public ActionResult Index(string Usuario, string password, bool?recordar) { IRepository repository = new Model.Repository(); var objUsu = new Usuarios(); int id = 0; string strMensaje = "El usuario y/o contraseña son incorrectos."; recordar = recordar == null ? false : true; try { objUsu = repository.FindEntity <Usuarios>(c => c.NombreUsuario == Usuario); var UsuID = repository.FindEntity <Usuarios>(c => c.NombreUsuario == Usuario).IdUsuario; var UsuIDPaciente = repository.FindEntity <Pacientes>(c => c.IdUsuario == UsuID); var UsuIDPsicologo = repository.FindEntity <Psicologos>(c => c.IdUsuario == UsuID); var UsuIDAdmin = repository.FindEntity <Administradores>(c => c.IdUsuario == UsuID); var Nombre = repository.FindEntity <Usuarios>(c => c.NombreUsuario == Usuario).NombreUsuario; var TipoUsuario = repository.FindEntity <Usuarios>(c => c.NombreUsuario == Usuario).TipoUsuario; if (TipoUsuario == "Psicologo") { if (CryproHelper.Confirm(password, objUsu.Contraseña, CryproHelper.Supported_HA.SHA512)) { id = -1; SessionHelper.AddUserToSession(objUsu.IdUsuario.ToString(), (bool)recordar); SessionHelper.ActualizarSessionPsicolog(objUsu, UsuIDPsicologo); if (objUsu.IdUsuario == UsuID) { strMensaje = Url.Content("~/Home"); } } } else if (TipoUsuario == "Paciente") { if (CryproHelper.Confirm(password, objUsu.Contraseña, CryproHelper.Supported_HA.SHA512)) { id = -1; SessionHelper.AddUserToSession(objUsu.IdUsuario.ToString(), (bool)recordar); SessionHelper.ActualizarSessionPacienteUser(objUsu, UsuIDPaciente); if (objUsu.IdUsuario == UsuID) { strMensaje = Url.Content("~/Home"); } } } else if (TipoUsuario == "Administrador") { if (objUsu.Contraseña == password) { id = -1; SessionHelper.AddUserToSession(objUsu.IdUsuario.ToString(), (bool)recordar); SessionHelper.ActualizarSessionAdmin(objUsu, UsuIDAdmin); if (objUsu.IdUsuario == UsuID) { strMensaje = Url.Content("~/Home"); } } else { try { if (CryproHelper.Confirm(password, objUsu.Contraseña, CryproHelper.Supported_HA.SHA512)) { id = -1; SessionHelper.AddUserToSession(objUsu.IdUsuario.ToString(), (bool)recordar); SessionHelper.ActualizarSessionAdmin(objUsu, UsuIDAdmin); if (objUsu.IdUsuario == UsuID) { strMensaje = Url.Content("~/Home"); } } } catch (Exception) { return(Json(new Response { IsSuccess = true, Message = strMensaje, Id = id }, JsonRequestBehavior.AllowGet)); } } } } catch (Exception) { strMensaje = "El usuario no existe"; } return(Json(new Response { IsSuccess = true, Message = strMensaje, Id = id }, JsonRequestBehavior.AllowGet)); }