public User LoginUser(bool isAdmin)
        {
            bool loginResult = false;

            while (!loginResult)
            {
                Console.WriteLine("Ingrese usuario");
                var userLogin = Console.ReadLine();
                Console.WriteLine("Ingrese contraseña");
                var passwordLogin = EncrypData.GetPassword();

                var userLogged = userData.Login(userLogin, passwordLogin, isAdmin);
                loginResult = userLogged != null;

                if (!loginResult)
                {
                    Console.WriteLine("Usuario o contraseña incorrecta");
                }

                else
                {
                    return(userLogged);
                }
            }
            return(null);
        }
        public bool CreateAdmin()
        {
            var usercollection = jsonManager.GetCollection();

            if (!usercollection.Any(p => p.Name == "ADMIN" &&
                                    p.LastName == "ADMIN" &&
                                    p.Email == "ADMIN"))
            {
                try
                {
                    var adminUser = new User()
                    {
                        Name     = "ADMIN",
                        LastName = "ADMIN",
                        Email    = "ADMIN",
                        UserId   = Guid.NewGuid(),
                        Password = EncrypData.EncryptText("4dmin!")
                    };
                    usercollection.Add(adminUser);
                    jsonManager.SaveCollection(usercollection);
                }
                catch (System.Exception)
                {
                    return(false);
                }
                return(true);
            }
            return(true);
        }
        public bool CreateUser(User newUser)
        {
            newUser.Password = EncrypData.EncryptText(newUser.Password);
            var usercollection = jsonManager.GetCollection();

            usercollection.Add(newUser);
            jsonManager.SaveCollection(usercollection);
            return(true);
        }
        public bool EditUser(User editUser)
        {
            editUser.Password = EncrypData.EncryptText(editUser.Password);
            var usercollection = jsonManager.GetCollection();
            var indexUser      = usercollection.FindIndex(p => p.UserId == editUser.UserId);

            usercollection[indexUser] = editUser;
            jsonManager.SaveCollection(usercollection);
            return(true);
        }
        public User Login(string User, string Password, bool isAdmin = false)
        {
            var usercollection  = jsonManager.GetCollection();
            var passwordEncript = EncrypData.EncryptText(Password);

            if (isAdmin)
            {
                User = "******";
            }
            var userFound = usercollection.FirstOrDefault(p => p.Email == User && p.Password == passwordEncript);

            return(userFound);
        }
        public void ExcecuteAction(AdminUsers menuAdminUserSelected)
        {
            switch (menuAdminUserSelected)
            {
            case AdminUsers.Agregar:
                User newUser = new User();
                Console.WriteLine("Escriba el nombre");
                newUser.Name = Console.ReadLine();
                Console.WriteLine("Escriba el apellido");
                newUser.LastName = Console.ReadLine();
                Console.WriteLine("Escriba el email");
                newUser.Email = Console.ReadLine();
                Console.WriteLine("Escriba el password");
                newUser.Password = EncrypData.GetPassword();
                userData.CreateUser(newUser);
                Console.WriteLine("USUARIO CREADO!");
                break;

            case AdminUsers.Editar:
                Console.WriteLine("Escriba el correo del usuario");
                var userFound = userData.FindUser(Console.ReadLine());
                while (userFound == null)
                {
                    Console.WriteLine("Escriba el correo del usuario");
                    userFound = userData.FindUser(Console.ReadLine());
                }
                Console.WriteLine("Escriba el nombre");
                userFound.Name = Console.ReadLine();
                Console.WriteLine("Escriba el apellido");
                userFound.LastName = Console.ReadLine();
                Console.WriteLine("Escriba el email");
                userFound.Email = Console.ReadLine();
                Console.WriteLine("Escriba el password");
                userFound.Password = EncrypData.GetPassword();
                userData.EditUser(userFound);
                Console.WriteLine("Usuario Editado correctamente");
                break;

            case AdminUsers.Eliminar:
                Console.WriteLine("Escriba el correo del usuario");
                var userFoundDelete = userData.FindUser(Console.ReadLine());
                while (userFoundDelete == null)
                {
                    Console.WriteLine("Escriba el correo del usuario");
                    userFoundDelete = userData.FindUser(Console.ReadLine());
                }
                Console.WriteLine($"¿Está seguro que desea eliminar a {userFoundDelete.Name} {userFoundDelete.LastName}, SI, NO?");
                if (Console.ReadLine() == "SI")
                {
                    userData.DeleteUser(userFoundDelete.UserId);
                }
                Console.WriteLine("Usuario Eliminado correctamente");
                break;

            case AdminUsers.CambiarPassword:
                Console.WriteLine("Escriba el correo del usuario");
                var userFoundPassword = userData.FindUser(Console.ReadLine());
                while (userFoundPassword == null)
                {
                    Console.WriteLine("Escriba el correo del usuario");
                    userFound = userData.FindUser(Console.ReadLine());
                }
                Console.WriteLine("Escriba el password");
                userFoundPassword.Password = EncrypData.GetPassword();
                userData.EditUser(userFoundPassword);
                Console.WriteLine("Contraseña cambiada correctamente");
                break;
            }
        }