public static void ReadAddressBookToFileIO()
        {
            Console.WriteLine("Your reading AddressBook from A File");
            bool   isRead = false;
            string path   = @"C:\Users\NAGENDRA AND JANAKI\source\repos\AddressBookProblem\";
            bool   exit   = false;

            while (isRead == false && exit == false)
            {
                Console.WriteLine("Enter the AddressBook Name");
                string addressBookName = Console.ReadLine();
                path += addressBookName + ".txt";
                Console.WriteLine($"File path :{path}");

                if (File.Exists(path))
                {
                    FileStream      fileStream      = new FileStream(path, FileMode.Open, FileAccess.Read);
                    BinaryFormatter binaryFormatter = new BinaryFormatter();
                    AddressBook     addressBook     = (AddressBook)binaryFormatter.Deserialize(fileStream);
                    Console.WriteLine("AddressBook contacts can be viewed");
                    addressBook.ViewAllContacts();

                    fileStream.Close();
                    isRead = true;
                }


                if (isRead == false)
                {
                    Console.WriteLine("Invalid AddressBook Name! Try again!!");
                    Console.WriteLine("Enter 'yes' or 'y' to exit");
                    string exitt = Console.ReadLine();
                    if (exitt.Equals("yes") || exitt.Equals("y"))
                    {
                        exit = true;
                    }
                }
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Address Book Problem\nChoose one of the option");

            bool loop1 = true;

            while (loop1)
            {
                Console.WriteLine("\n1.Add AddressBook \n2.View AddressBooks");
                Console.WriteLine("3.Searching Contact by City or State\n4.Add AdrdressBook to the IO File\n5.Read AdrdressBook from the IO File ");
                Console.WriteLine("6.Add AdrdressBook to the CSV File\n7.Read AdrdressBook from CSV file\n8.Add AdrdressBook to the Json File\n9.Read AdrdressBook from Json file");
                Console.WriteLine("10.Insert Addressbook in Database\n11.Retrieve Contacts by AddressBookName\n0.Exit ");
                int choice1 = 0;
                try
                {
                    choice1 = Convert.ToInt32(Console.ReadLine());
                }
                catch
                {
                    Console.WriteLine("Invalid Input!! Try again");
                }
                AddressBook addressBook     = new AddressBook();
                string      addressBookName = null;
                switch (choice1)
                {
                case 1:
                    Console.WriteLine("\nAdding a new AddessBook");

                    Console.WriteLine("Enter name for New AddessBook:");

                    addressBookName = Console.ReadLine();

                    bool isKeyAvailable = false;

                    foreach (KeyValuePair <string, AddressBook> keyValue in addressBookDictionary)
                    {
                        if (keyValue.Key.Equals(addressBookName))
                        {
                            isKeyAvailable = true;
                        }
                    }
                    if (isKeyAvailable)
                    {
                        Console.WriteLine("AddessBook Name is available, try other name\n");
                        break;
                    }

                    bool loop2 = true;

                    while (loop2)
                    {
                        Console.WriteLine("\n1.Add a Contact \n2.View Contact By Name \n3.View All Contacts \n4.Edit Contact By name");
                        Console.WriteLine("5.Delete Contact By Name \n6.Exit ");
                        int choice = 0;
                        try
                        {
                            choice = Convert.ToInt32(Console.ReadLine());
                        }
                        catch
                        {
                            Console.WriteLine("Invalid Input!! Try again");
                        }

                        switch (choice)
                        {
                        case 1:
                            Console.WriteLine("\nAdding a new Contact\n");
                            addressBook.AddContact();
                            break;

                        case 2:
                            addressBook.ViewContact();
                            break;

                        case 3:
                            addressBook.ViewAllContacts();
                            break;

                        case 4:
                            addressBook.EditContact();
                            break;

                        case 5:
                            addressBook.DeleteContact();
                            break;

                        default:
                            loop2 = false;
                            break;
                        }
                        Console.WriteLine("______________________________________________________");
                    }
                    addressBookDictionary.Add(addressBookName, addressBook);
                    addressBooksList.Add(addressBook);

                    break;

                case 2:
                    Console.WriteLine("Available AddressBooks: ");

                    foreach (KeyValuePair <String, AddressBook> keyValue in addressBookDictionary)
                    {
                        Console.WriteLine("AddressBook Name: " + keyValue.Key);
                    }
                    break;

                case 3:
                    Console.WriteLine("Your Searching Contact by City or State");
                    AddressBookMain.ContactsByCityOrState();
                    break;

                case 4:
                    Console.WriteLine("Adding AddressBook into IO File");

                    AddressBookMain.AddAddressBookToFileIO();
                    break;

                case 5:
                    Console.WriteLine("Read AddressBook from IO File");

                    AddressBookMain.ReadAddressBookToFileIO();
                    break;

                case 6:
                    Console.WriteLine("Adding AddressBook into CSV File");

                    AddressBookMain.AddAddressBookToCsv();
                    break;

                case 7:
                    Console.WriteLine("Reading AddressBook from CSV File");

                    AddressBookMain.ReadAddressBookFromCsv();
                    break;

                case 8:
                    Console.WriteLine("Adding AddressBook into Json File");

                    AddressBookMain.AddAddressBookToJsonFile();
                    break;

                case 9:
                    Console.WriteLine("Reading AddressBook from Json File");

                    AddressBookMain.ReadAddressBookFromJsonFile();
                    break;

                case 10:
                    Console.WriteLine("Insert Contact to AddressBook Database");

                    AddressBookMain.insertAddressBooktoDB();
                    break;

                case 11:
                    Console.WriteLine("Retrieving Contacts by AddressBookName");

                    AddressBookMain.RetrieveFromDB();
                    break;


                default:
                    loop1 = false;
                    break;
                }

                Console.WriteLine("______________________________________________________");
            }
            Console.WriteLine("Thanks for Using the Application!!");
        }