public async Task <bool> PrintMainMenu()
        {
            //var ats = new AzureTableService("DefaultEndpointsProtocol=https;AccountName=apimattstorage;AccountKey=MYRxQk2IUffGfQjHm3f2yyPePmb/CyJYU4VgZTtxUqpP1/IICaIeCatGwqC0dSm0UeodqRhqjKda7GFGiht9LA==;EndpointSuffix=core.windows.net", "accountsLog");
            //ats.WriteSuccessEnablement("podmtyapimb2c", "*****@*****.**", "props", "DevCenter2020!", true);


            Console.ForegroundColor = ConsoleColor.White;
            Console.Clear();
            Console.WriteLine();
            Console.WriteLine("API Management and AD B2C Environments list:");
            Console.WriteLine("====================");

            await migrationService.ServiceBootstraping();

            userSetup = true;

            Console.WriteLine("Command  Description");
            Console.WriteLine("====================");


            Console.ForegroundColor = userSetup ? Console.ForegroundColor = ConsoleColor.Gray : Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("[A]      Create List of Users");
            if (userSetup)
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("[B]      Manage Users");
                Console.WriteLine("[C]      Normalize all Users");
            }
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("[D]      Backup/Restore APIM");
            Console.WriteLine("[E]      Print Config Attributes");
            Console.WriteLine("[X]      Exit Program Console");
            Console.WriteLine("-------------------------");
            string option    = Console.ReadLine();
            bool   leaveLoop = false;

            option = option.ToUpper();

            switch (option)
            {
            case "A":
                Console.WriteLine("This process will take some time, please wait...");
                await migrationService.SetupUserCollections();

                userSetup = true;
                Console.WriteLine("Done...");
                break;

            case "B":
                await ManageUsersAsync();

                Console.WriteLine("Done...");
                break;

            case "C":
                await migrationService.NormalizeAllUsersAsync();

                Console.WriteLine("Done...");
                break;

            case "D":
                await BackupRestoreAPIM();

                Console.WriteLine("Done...");
                break;

            case "E":
                PrintConfig();
                Console.WriteLine("Done...");
                break;

            case "X":
                leaveLoop = true;
                break;

            default:
                Console.WriteLine("Option not recognized");
                break;
            }
            Thread.Sleep(2000);
            if (!leaveLoop)
            {
                Console.Write("Press any key to continue...");
                Console.ReadLine();
            }

            return(leaveLoop);
        }
        public async Task <bool> PrintMainMenu()
        {
            Console.ForegroundColor = ConsoleColor.White;
            Console.Clear();
            Console.WriteLine("API Management and AD B2C Environments list:");
            Console.WriteLine("====================");

            await migrationService.ServiceBootstraping();

            userSetup = true;

            Console.WriteLine("Command  Description");
            Console.WriteLine("====================");


            Console.ForegroundColor = userSetup ? Console.ForegroundColor = ConsoleColor.Gray : Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("[A]      Create List of Users");
            if (userSetup)
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("[B]      Manage Users");
                Console.WriteLine("[C]      Normalize all Users");
            }
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("[E]      Print Config Attributes");
            Console.WriteLine("[X]      Exit Program Console");
            Console.WriteLine("-------------------------");
            string option    = Console.ReadLine();
            bool   leaveLoop = false;

            option = option.ToUpper();

            switch (option)
            {
            case "A":
                Console.WriteLine("This process will take some time, please wait...");
                await migrationService.SetupUserCollections();

                //migrationService.PrintUserNormalizationStatus();
                userSetup = true;
                Console.WriteLine("Done...");
                break;

            case "B":
                await ManageUsersAsync();

                Console.WriteLine("Done...");
                break;

            case "C":
                await migrationService.NormalizeAllUsersAsync();

                Console.WriteLine("Done...");
                break;

            case "E":
                PrintConfig();
                Console.WriteLine("Done...");
                break;

            case "X":
                leaveLoop = true;
                break;

            default:
                Console.WriteLine("Option not recognized");
                break;
            }
            Thread.Sleep(2000);
            if (!leaveLoop)
            {
                Console.Write("Press any key to continue...");
                Console.ReadLine();
            }

            return(leaveLoop);
        }