/// <summary> /// Changes the address. /// </summary> /// <param name="bookName">Name of the book.</param> /// <param name="nameToEdit">The name to edit.</param> public static void ChangeAddress(string bookName, string nameToEdit) { while (true) { Console.WriteLine("Enter the New Address"); string address = Console.ReadLine(); if (Utility.CheckString(address)) { Console.WriteLine("Address Cant be Empty"); continue; } ////Getting the existing AddressBook from the file AddressBook addressBook = FileOperation.GetBookDetails(bookName); List <AddressBookModelClass> list = addressBook.AddressDetailsList; ////loops over all the Address Details and replaces the new addresses with old address. foreach (AddressBookModelClass addressDetail in list) { if (addressDetail.FirstName.Equals(nameToEdit)) { addressDetail.Address = address; break; } } FileOperation.WriteAddressBookToFile(addressBook); Console.WriteLine("Successfully updated"); break; } }
/// <summary> /// Changes the city. /// </summary> /// <param name="bookName">Name of the book.</param> /// <param name="nameToEdit">The name to edit.</param> public static void ChangeCity(string bookName, string nameToEdit) { while (true) { Console.WriteLine("Enter the New City"); string city = Console.ReadLine(); if (!Regex.IsMatch(city, "^[a-zA-z]+$")) { Console.WriteLine("Wrong input,(Characters,number not allowed)"); continue; } ////Getting the existing AddressBook from the file AddressBook addressBook = FileOperation.GetBookDetails(bookName); List <AddressBookModelClass> list = addressBook.AddressDetailsList; ////loops over all the Address Details and replaces the new City with old City. foreach (AddressBookModelClass addressDetail in list) { if (addressDetail.FirstName.Equals(nameToEdit)) { addressDetail.City = city; break; } } FileOperation.WriteAddressBookToFile(addressBook); Console.WriteLine("Successfully updated"); break; } }
/// <summary> /// Changes the phone number. /// </summary> /// <param name="bookName">Name of the book.</param> /// <param name="nameToEdit">The name to edit.</param> public static void ChangePhoneNumber(string bookName, string nameToEdit) { while (true) { Console.WriteLine("Enter the New phoneNumber"); string phoneNumber = Console.ReadLine(); if (!Regex.IsMatch(phoneNumber, "^[0-9]{10}$")) { Console.WriteLine("Wrong input,(Characters,number not allowed)"); continue; } AddressBook addressBook = FileOperation.GetBookDetails(bookName); List <AddressBookModelClass> list = addressBook.AddressDetailsList; ////loops over all the Address Details and replaces the new PhoneNumber with old PhoneNumber. foreach (AddressBookModelClass addressDetail in list) { if (addressDetail.FirstName.Equals(nameToEdit)) { addressDetail.PhoneNumber = phoneNumber; break; } } FileOperation.WriteAddressBookToFile(addressBook); Console.WriteLine("Successfully updated"); break; } }
/// <summary> /// Creates the address details. /// </summary> /// <param name="bookName">Name of the book.</param> /// <param name="firstName">The first name.</param> /// <param name="lastName">The last name.</param> /// <param name="address">The address.</param> /// <param name="city">The city.</param> /// <param name="state">The state.</param> /// <param name="zip">The zip.</param> /// <param name="phoneNumber">The phone number.</param> public static void CreateAddressDetails(string bookName, string firstName, string lastName, string address, string city, string state, string zip, string phoneNumber) { ////creating a object of addresDetails AddressBookModelClass addressDetails = new AddressBookModelClass(firstName, lastName, address, city, state, zip, phoneNumber); //// Getting the AddressBook and adding the newly created object in list. AddressBook addressBook = FileOperation.GetBookDetails(bookName); addressBook.AddressDetailsList.Add(addressDetails); FileOperation.WriteAddressBookToFile(addressBook); Console.WriteLine("Added to AddressBook " + bookName); }
/// <summary> /// Prints the address book details. /// </summary> /// <param name="addressBookName">Name of the address book.</param> public static void PrintAddressBookDetails(string addressBookName) { AddressBook addressBook = FileOperation.GetBookDetails(addressBookName); List <AddressBookModelClass> list = addressBook.addressDetailsList; //// Prints details of all Persons in the addressBook foreach (AddressBookModelClass address in list) { Console.WriteLine(address.ToString()); Console.WriteLine("----------------------------------------"); } }
/// <summary> /// Gets the first name list. /// </summary> /// <param name="bookName">Name of the book.</param> /// <returns>returns the List of firstNames</returns> public static List <string> GetFirstNameList(string bookName) { AddressBook addressBook = FileOperation.GetBookDetails(bookName); List <string> firstNameList = new List <string>(); List <AddressBookModelClass> list = addressBook.AddressDetailsList; foreach (AddressBookModelClass address in list) { firstNameList.Add(address.FirstName); } return(firstNameList); }
/// <summary> /// Does the name exist. /// </summary> /// <param name="bookName">Name of the book.</param> /// <param name="name">The name.</param> /// <returns>returns true or false</returns> public static bool DoesNameExist(string bookName, string name) { AddressBook addressBook = FileOperation.GetBookDetails(bookName); List <AddressBookModelClass> list = addressBook.AddressDetailsList; ////loops over all the Addressdetail to find wheather given name exist. foreach (AddressBookModelClass address in list) { if (address.FirstName.Equals(name)) { return(true); } } return(false); }
/// <summary> /// Prints the single address. /// </summary> /// <param name="bookName">Name of the book.</param> /// <param name="firstName">The first name.</param> public static void PrintSingleAddresss(string bookName, string firstName) { AddressBook addressBook = FileOperation.GetBookDetails(bookName); List <AddressBookModelClass> list = addressBook.addressDetailsList; ////prints only one person details if found. foreach (AddressBookModelClass address in list) { if (address.FirstName.Equals(firstName)) { Console.WriteLine(address.ToString()); return; } } }
/// <summary> /// Sorts the by zip. /// </summary> /// <param name="bookName">Name of the book.</param> public static void SortByZip(string bookName) { AddressBook addressBook = FileOperation.GetBookDetails(bookName); List <AddressBookModelClass> list = addressBook.AddressDetailsList; ////sorting the Objects in list by Zip var sortedList = list.OrderBy(v => v.Zip); ////Printing to Console All details sorted by Zip foreach (AddressBookModelClass address in sortedList) { Console.WriteLine("----------------------------"); Console.WriteLine(address.ToString()); Console.WriteLine("----------------------------"); } }
/// <summary> /// Gets the name of the book. /// </summary> /// <param name="addressBookOption">The address book option.</param> public static void GetBookName(int addressBookOption) { try { ////Getting the All the names of Existing book in list. List <string> fileNameList = FileOperation.GetAddressBookList(); string bookName = fileNameList[addressBookOption - 1].Replace(".json", string.Empty); ////Calling the method that will ask the user what to do with choosen Book AddressBookView.AddressbookView(bookName); AddressBook addressBook = FileOperation.GetBookDetails(bookName); } catch (Exception ex) { Console.WriteLine("Invalid Input"); Console.WriteLine("-----------------------------------------------"); Console.WriteLine(ex.Message); } }