static bool CheckUserWarning()

in SimpleRemoteConsole/Program.cs [173:217]


        static bool CheckUserWarning()
        {
            var pathToThisExe = new FileInfo(Assembly.GetEntryAssembly().Location).DirectoryName;
            var pathToAckFile = Path.Combine(pathToThisExe, "UserWarningAcknowledged");
            var pathToWarnTxt = Path.Combine(pathToThisExe, "UserWarning.txt");

            if (File.Exists(pathToAckFile))
            {
                // user acknowledged warning already (or preset it)
                return true;
            }
            else
            {
                // show the warning
                var warningText = File.ReadAllText(pathToWarnTxt);
                Console.Write(warningText);

                // get user response
                ConsoleKeyInfo resp;
                while (true)
                {
                    resp = Console.ReadKey();
                    if (! new[] { 'Y', 'y', 'N', 'N'}.Contains(resp.KeyChar))
                    {
                        Console.WriteLine();
                        Console.Write("Please enter Y or N: ");

                    }
                    else break;
                }

                if (resp.KeyChar == 'y' || resp.KeyChar == 'Y')
                {
                    // user has acknowledged risk. Proceed and don't ask again
                    File.Create(pathToAckFile).Dispose(); // close the file immediately.
                    Console.WriteLine();
                    return true;
                }
                else
                {
                    Console.WriteLine();
                    return false;
                }
            }
        }