//[ValidateAntiForgeryToken]
        public async Task <IActionResult> Login(string email, string password)
        {
            if (TempData["EMAIL"] != null && TempData["PASSWORD"] != null)
            {
                email    = TempData["EMAIL"].ToString();
                password = TempData["PASSWORD"].ToString();
            }

            string token = await repo.GetToken(email, password);

            if (token == null)
            {
                ViewData["Mensaje"] = "Usuario/Password incorrectos o su cuenta ha sido desactivada";
                return(View());
            }
            HttpContext.Session.SetString("token", token);
            Usuarios usuario = await repo.GetUserLogin(token);

            if (usuario != null)
            {
                ClaimsIdentity identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme, ClaimTypes.Name, ClaimTypes.Role);
                identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, usuario.UserId.ToString()));
                identity.AddClaim(new Claim(ClaimTypes.Name, usuario.Email));
                identity.AddClaim(new Claim(ClaimTypes.Role, usuario.NombreRole));
                identity.AddClaim(new Claim("Password", usuario.Password));
                ClaimsPrincipal userPrincipal = new ClaimsPrincipal(identity);
                await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, userPrincipal,
                                              new AuthenticationProperties
                {
                    IsPersistent = true,
                    ExpiresUtc   = DateTime.Now.AddMinutes(60)
                });

                HttpContext.Session.SetInt32("userLogged", usuario.UserId);
                string existe = await repo.ExisteTipoUsuario(usuario.UserId);

                if (existe.Equals("SinPerfil") && usuario.NombreRole != "Administrador")
                {
                    Usuarios user = await repo.FindUser(usuario.UserId, token);

                    TempData["User"]     = JsonConvert.SerializeObject(user);
                    TempData["EMAIL"]    = email;
                    TempData["PASSWORD"] = password;

                    string noPerfil = await repo.CrearPerfilUsuario(user.UserId);

                    if (noPerfil.Equals("PacieNoPerfil"))
                    {
                        return(RedirectToAction("CrearPaciente", "Paciente"));
                    }
                    else if (noPerfil.Equals("PersoNoPerfil"))
                    {
                        return(RedirectToAction("CrearPersonal", "Personal"));
                    }
                }

                if (TempData["CONTROLLER"] != null && TempData["ACTION"] != null && existe != "SinPerfil")
                {
                    string controller = TempData["CONTROLLER"].ToString();
                    string action     = TempData["ACTION"].ToString();

                    return(RedirectToAction(action, controller));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                ViewBag.Mensaje = "Usuario/Password incorrectos o su cuenta ha sido desactivada";
                return(View());
            }
        }
 public ActionResult <string> CrearPerfilUsuario(int userLogged)
 {
     return(repo.CrearPerfilUsuario(userLogged));
 }