/// <summary>
        /// Load from library.
        /// </summary>
        /// <param name="address">String address file.</param>
        /// <returns>Book list.</returns>
        public IEnumerable <Book> LoadFromFileToBookList(string address)
        {
            string addr = address;

            if (IsNullOrEmpty(address))
            {
                addr = ConfigurationManager.AppSettings["address"];
            }

            var operationWithFile = new OperationWithFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, addr));

            return(operationWithFile.ReadBooks());
        }
        /// <summary>
        /// Save from library to file.
        /// </summary>
        /// <param name="address">String address file.</param>

        public void SaveFromBookListToFile(string address)
        {
            string addr = address;

            if (IsNullOrEmpty(address))
            {
                addr = ConfigurationManager.AppSettings["address"];
            }

            OperationWithFile operationWithFile =
                new OperationWithFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, addr));

            operationWithFile.WriteBooks(BookList);
        }
        /// <summary>
        /// .ctor
        /// </summary>
        /// <param name="operationWithFile">Combine path with directory and file.</param>
        /// <param name="bookListService">List operation of books.</param>

        public BookUiHelpFunction(OperationWithFile operationWithFile, BookListService bookListService)
        {
            Address = ConfigurationManager.AppSettings["address"];

            if (operationWithFile == null)
            {
                operationWithFile = new OperationWithFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Address));
            }


            if (bookListService == null)
            {
                bookListService = new BookListService(operationWithFile);
            }

            ListService = bookListService;
        }
        static void Main(string[] args)
        {
            OperationWithFile operationWithFile = new OperationWithFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationManager.AppSettings["address"]));
            BookListService   bookListService   = new BookListService(operationWithFile);

            Book book1 = new Book("Есенин", "Первая книга", "Москва", 1955, 150);
            Book book2 = new Book("Пушкин", "Вторая книга", "Российская Империя", 1955, 150);


            BookUiHelpFunction bookUiHelpFunction = new BookUiHelpFunction(operationWithFile, bookListService);

            bookUiHelpFunction.AddBook(book1);
            bookUiHelpFunction.AddBook(book1);
            bookUiHelpFunction.RemoveBook(book2);
            bookUiHelpFunction.AddBook(book2);


            List <Book> resultFind = (List <Book>)bookListService.FindByTag(book => book.NumberOfPages == 150);

            ServiceBookLogger.Info("Find list book where number of page = 189");
            DisplayBook(resultFind);

            Console.ReadKey();
        }