Ejemplo n.º 1
0
        //добавление книг
        public void Add_book(Book book)
        {
            Book_Subscr newbook = new Book_Subscr(book, null, DateTime.Today.Date);

            Books_in_Lib.Add(newbook);
            BookAdded?.Invoke(this, book);
        }
Ejemplo n.º 2
0
        public void Test_Sub_missing()
        {
            Book_Subscr newbook = new Book_Subscr(book1, sub1, Convert.ToDateTime("11.05.2017"));

            library.Books_in_Lib.RemoveAt(library.Book_Index(book1));
            library.Books_in_Lib.Add(newbook);
            Assert.AreEqual(sub1.Missing_book()[0].Name, "Преступление и наказание");
        }
Ejemplo n.º 3
0
 //выдача книг
 public void Give_book(Subscriber sub, Book book)
 {
     if (Books_in_Lib.Count != 0)
     {
         if (sub.Missing_book().Count != 0)
         {
             Console.WriteLine("Выдача книги не возможна");
         }
         else
         {
             if (sub.Having_book().Count == 5)
             {
                 Console.WriteLine("Выдача книги не возможна");
             }
             else
             {
                 int rare_num_book = 0;
                 foreach (Book b in sub.Having_book())
                 {
                     if (b.Rare == true)
                     {
                         rare_num_book++;
                     }
                 }
                 if ((rare_num_book < 2 && book.Rare != true) || (rare_num_book < 1 && book.Rare == true))
                 {
                     int num = Book_Index(book);
                     if (num != -1)
                     {
                         Books_in_Lib.RemoveAt(Book_Index(book));
                         Book_Subscr newbook = new Book_Subscr(book, sub, DateTime.Today.Date);
                         Books_in_Lib.Add(newbook);
                         state = Book_State.notinLib;
                         StateChanged?.Invoke(this, state);
                     }
                     else
                     {
                         Console.WriteLine("Такой книги нет");
                     }
                 }
                 else
                 {
                     Console.WriteLine("Выдача книги невозможна");
                 }
             }
         }
     }
     else
     {
         Console.WriteLine("В библиотеке нет книг");
     }
 }
Ejemplo n.º 4
0
        //поиск по названию
        public Book_Subscr Name_search(string book_name)
        {
            Book_Subscr book = new Book_Subscr();

            for (int i = 0; i < Books_in_Lib.Count(); i++)
            {
                if (Books_in_Lib[i].book.Name == book_name)
                {
                    book = Books_in_Lib[i];
                }
            }
            return(book);
        }
Ejemplo n.º 5
0
        //поиск по автору
        public Book_Subscr Author_search(string aurth_name)
        {
            Book_Subscr book = new Book_Subscr();

            for (int i = 0; i < Books_in_Lib.Count(); i++)
            {
                if (Books_in_Lib[i].book.Author == aurth_name)
                {
                    book = Books_in_Lib[i];
                }
            }
            return(book);
        }
Ejemplo n.º 6
0
 //Поиск по автору или названию
 public Book_Subscr this[string author, string name]
 {
     get
     {
         Book_Subscr b = new Book_Subscr();
         foreach (Book_Subscr book in Books_in_Lib)
         {
             if (book.book.Name == name || book.book.Author == author)
             {
                 b = book;
                 break;
             }
         }
         if (b.book == null)
         {
             throw new Exception();
         }
         else
         {
             return(b);
         }
     }
 }
Ejemplo n.º 7
0
 //возврат книг
 public void Return_book(Book book)
 {
     if (Books_in_Lib.Count() != 0)
     {
         int num = Book_Index(book);
         if (num == -1)
         {
             Console.WriteLine("Книгу брали не из данной библиотеки");
         }
         else
         {
             Books_in_Lib.RemoveAt(num);
             Book_Subscr newbook = new Book_Subscr(book, null, DateTime.Today.Date);
             Books_in_Lib.Add(newbook);
             state = Book_State.inLib;
             StateChanged?.Invoke(this, state);
         }
     }
     else
     {
         Console.WriteLine("Возврат не возможен, в библиотеке нет книг");
     }
 }