Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        public async void ThrowsGivenNullEntryServiceArguments()
        {
            var phoneBookService = new PhoneBookService(null, _mockPhoneBookRepo.Object);

            await Assert.ThrowsAsync <ArgumentNullException>(
                async() => await phoneBookService.SetPhoneBookAsync(null)
                );
        }
Beispiel #3
0
        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();
        }
Beispiel #5
0
        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();
            }
        }
Beispiel #6
0
        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"
            }));
        }
Beispiel #7
0
        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;
 }
Beispiel #10
0
        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();
        }
Beispiel #11
0
        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;
                }
            }
        }