public async Task AddPhoneBookEntryTest() { try { PhoneBookService service = new PhoneBookService(new GenericRepository <PhoneBook, int>(), new GenericRepository <Entry, int>()); var phoneBook = new PhoneBook { FirstName = "Tim", Lastname = "Van der Merwe", Entry = new List <Entry> { new Entry { Name = "Cell", TelephoneNumber = "0921234567" }, new Entry { Name = "Fax", TelephoneNumber = "0114671234" } } }; await service.AddPhoneBookEntry(phoneBook); Assert.IsTrue(true); } catch (Exception) { Assert.Fail(); } }
public async void ThrowsGivenNullEntryServiceArguments() { var phoneBookService = new PhoneBookService(null, _mockPhoneBookRepo.Object); await Assert.ThrowsAsync <ArgumentNullException>( async() => await phoneBookService.SetPhoneBookAsync(null) ); }
public async void ThrowsGivenInvalidEntryId() { var phoneBookService = new PhoneBookService(null, _mockPhoneBookRepo.Object); await Assert.ThrowsAsync <PhoneBookNotFoundException>( async() => await phoneBookService.GetPhoneBookById(_invalidId) ); }
static void Main(string[] args) { _phoneBookService = new PhoneBookService(); #region Data For Testing //PhoneBook fakePhoneBook = MakeFakePhoneBook(); //Console.WriteLine(JsonConvert.SerializeObject(fakePhoneBook)); #endregion Console.WriteLine("Choose a phonebook by year"); foreach (PhoneBook phoneBook in _phoneBookService.GetPhoneBooks()) { Console.WriteLine($"* {phoneBook.Year}"); } Console.WriteLine("\nEnter a year from above:"); int userYear = int.Parse(Console.ReadLine()); PhoneBook userPhoneBook = _phoneBookService.GetPhoneBookByYear(userYear); #region Print All Contacts Console.WriteLine($"\nAll contacts from phonebook of {userPhoneBook.Year}:"); List <Contact> allContacts = _phoneBookService.GetContacts(userPhoneBook.Id.ToString()); foreach (Contact contact in allContacts) { Console.WriteLine($"{contact.FirstName} {contact.LastName} {contact.PhoneNumber} {contact.MobileNumber}"); } #endregion #region Print Contacts by FirstName letter Console.WriteLine("\nEnter a first letter of First Names:"); char userInputFirstLetter = Console.ReadLine().First(); List <Contact> contactsByFirstNameLetter = _phoneBookService.GetContactsByFirstNameFirstLetter(userPhoneBook.Id.ToString(), userInputFirstLetter); Console.WriteLine($"\nAll contacts starting with letter: {userInputFirstLetter}"); foreach (Contact contact in contactsByFirstNameLetter) { Console.WriteLine($"{contact.FirstName} {contact.LastName} {contact.PhoneNumber} {contact.MobileNumber}"); } #endregion #region Search Contacts Console.WriteLine("\nSearch contacts by last name.\nEnter a last name:"); string userInputLastName = Console.ReadLine(); List <Contact> contactsBySearch = _phoneBookService.SearchContacts(userPhoneBook.Id.ToString(), lastName: userInputLastName); foreach (Contact contact in contactsBySearch) { Console.WriteLine($"{contact.FirstName} {contact.LastName} {contact.PhoneNumber} {contact.MobileNumber}"); } #endregion Console.ReadKey(); }
public void GetEntryTest() { try { PhoneBookService service = new PhoneBookService(new GenericRepository <PhoneBook, int>(), new GenericRepository <Entry, int>()); var phoneBook = service.GetEntry(1).Result; Assert.IsNotNull(phoneBook); } catch (Exception) { Assert.Fail(); } }
public async Task AddEntry_When_Duplicate_Entry_Throws_exception() { //arrange var repository = Substitute.For <IPhoneBookRepository>(); repository.GetById("Test").Returns(new PhoneBookEntry()); var phoneBookService = new PhoneBookService(repository); //act + assert await Assert.ThrowsExceptionAsync <ApplicationException>(() => phoneBookService.AddEntry(new PhoneBookEntry { Name = "Test", PhoneNumber = "123" })); }
public async Task DeleteEntry() { try { PhoneBookService service = new PhoneBookService(new GenericRepository <PhoneBook, int>(), new GenericRepository <Entry, int>()); var phoneBooks = await service.SearchPhoneBook("Van der Merwe"); foreach (var phoneBook in phoneBooks) { await service.DeletePhoneBookEntry(phoneBook); } Assert.IsTrue(true); } catch (Exception) { Assert.Fail(); } }
public PhoneBookController(PhoneBookService phoneBookService) { _phoneBookService = phoneBookService; }
public PhoneBookController(PhoneBookService service) { _service = service; }
static void Main(string[] args) { IPhoneBook service = new PhoneBookService(); var contacsList = new List <Contact> { new Contact { Name = "Baki", LastName = "Gervalla", Phones = new List <Phone> { new Phone { Type = "Work", Number = "044287715" }, new Phone { Type = "Home", Number = "049494949" } } }, new Contact { Name = "Denart", LastName = "Prishtina", Phones = new List <Phone> { new Phone { Type = "Home", Number = "044123123" } } }, new Contact { Name = "Urani", LastName = "England", Phones = new List <Phone> { new Phone { Type = "Cellphone", Number = "044287715" } } } }; service.Add(contacsList) .Save(); ShowContacts( service.GetContacts().OrderByFirstName() ); Console.WriteLine("Type F or L to order the list. Type D to delete a contact."); ConsoleKeyInfo key = Console.ReadKey(); switch (key.Key) { case ConsoleKey.F: Console.Clear(); ShowContacts(service.GetContacts().OrderByFirstName()); break; case ConsoleKey.L: Console.Clear(); ShowContacts(service.GetContacts().OrderByLastName()); break; case ConsoleKey.D: Console.WriteLine("Type contact name you want to delete"); var name = Console.ReadLine(); var contact = contacsList.FirstOrDefault(x => x.Name.Equals(name)); if (contact == null) { return; } service.Delete(contact); Console.Clear(); ShowContacts(service.GetContacts().OrderByFirstName()); break; } Console.ReadLine(); }
static void Main(string[] args) { var service = new PhoneBookService(); //service.DeleteDb(); while (true) { //Шапка Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine((new string('=', 79))); Console.WriteLine("\t\tПростой консольный справочник на C#"); Console.WriteLine((new string('=', 79))); Console.WriteLine("\t\tКоличество абонентов в справочнике - {0}", service.GetPeopleSort().Count()); Console.WriteLine("\n"); Console.ForegroundColor = ConsoleColor.White; service.ListAbonentsSort(); Console.WriteLine("\n"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine((new string('=', 79))); Console.WriteLine("Команды меню: "); Console.WriteLine("1.Создать запись\n2.Удалить запись\n3.Изменить запись\n4.Поиск\n5.Очистить справочник\n6.Выход"); Console.WriteLine((new string('=', 79))); Console.Write("Введите команду: "); Console.ForegroundColor = ConsoleColor.White; string com = Console.ReadLine(); //Команды меню switch (com) { //Создать запись case "1": Console.WriteLine("Введите имя: "); string Name = Console.ReadLine(); Console.WriteLine("Введите номер: "); int phoneNumber = int.Parse(Console.ReadLine()); Console.WriteLine("Введите группу: "); var category = new Category { Name = Console.ReadLine() }; Console.WriteLine("Введите город: "); var city = new City { Name = Console.ReadLine() }; service.AddAbonent(new Abonent { Name = Name, phoneNumber = phoneNumber, Category = category, City = city }); break; //Удалить запись case "2": Console.WriteLine("Введите Id абонета: "); int abonentId = int.Parse(Console.ReadLine()); service.DeleteAbonent(abonentId); break; //Изменить запись case "3": Console.WriteLine("Введите Id абонета: "); int Id = int.Parse(Console.ReadLine()); Console.WriteLine("Введите имя: "); string newName = Console.ReadLine(); Console.WriteLine("Введите номер: "); int newPhoneNumber = int.Parse(Console.ReadLine()); Console.WriteLine("Введите группу: "); var newCategory = new Category { Name = Console.ReadLine() }; Console.WriteLine("Введите город: "); var newCity = new City { Name = Console.ReadLine() }; service.ModifyAbonent(Id, new Abonent { Name = newName, phoneNumber = newPhoneNumber, Category = newCategory, City = newCity }); break; //Поиск case "4": Console.WriteLine("Введите часть имени абонента или номер: "); string s = Console.ReadLine(); Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine((new string('=', 79))); Console.WriteLine("\t\tПростой консольный справочник на C#"); Console.WriteLine((new string('=', 79))); Console.WriteLine("\n"); Console.WriteLine("Результаты поиска:\n"); Console.ForegroundColor = ConsoleColor.White; foreach (var abonent in service.SearchAbonent(s)) { Console.WriteLine(abonent); } Console.WriteLine("\n"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Для возврата к основному меню нажмите любую клавишу..."); Console.ReadKey(); break; //Очистить справочник case "5": service.DeleteDb(); break; //Выход case "6": return; default: Console.WriteLine("Недопустимая команда.\n"); break; } } }