コード例 #1
0
 private static bool BookCompare(Book a, Book b)
 {
     if (Object.ReferenceEquals(a, b))
     {
         return true;
     }
     return a.Id == b.Id &&
         a.Author == b.Author &&
         a.Title == b.Title &&
         a.Year == b.Year &&
         a.Department == b.Department;
 }
 public override void Save(Book item)
 {
     Book book = GetItem(item.Id);
     if (book == null)
     {
         context.Books.InsertOnSubmit(item);
     }
     else
     {
         book.Author = item.Author;
         book.Title = item.Title;
         book.Year = item.Year;
         book.Department = item.Department;
     }
     context.SubmitChanges();
 }
        public LibraryClassTest()
        {
            repository = new Repository(new MSSQLRepositoryFactory());

            reader = new Reader("First Reader", "Brest");
            repository.ReaderRepository.Save(reader);
            department = new LibraryDepartment("Abonement", true);
            repository.LibraryDepartmentRepository.Save(department);
            librarian = new Librarian("First Librarian ", department);
            repository.LibrarianRepository.Save(librarian);
            book = new Book("First Author", "Title", 2002, department);
            repository.BookRepository.Save(book);
            book2 = new Book("Second Author", "Title", 2000, department);
            repository.BookRepository.Save(book2);

            library = new LibraryClass(repository);
        }
		private void detach_Books(Book entity)
		{
			this.SendPropertyChanging();
			entity.Department = null;
		}
		private void attach_Books(Book entity)
		{
			this.SendPropertyChanging();
			entity.Department = this;
		}
		partial void DeleteBook(Book instance);
		partial void UpdateBook(Book instance);
		partial void InsertBook(Book instance);
        public void Order_If_Book_Already_Ordered_Test()
        {
            var listBooks = new List<Book>();
            var book = new Book(Guid.Empty, "Name", "Title", 2000, new LibraryDepartment());
            listBooks.Add(book);
            library.Setup(lib => lib.GetAllBooks()).Returns(listBooks);

            var reader = new Reader("Name", "Address");
            library.Setup(lib => lib.GetReader(It.IsAny<string>())).Returns(reader);

            library.Setup(lib => lib.OrderBook(book, reader)).Returns(false);

            libraryController.ControllerContext = new ControllerContext()
            {
                Controller = libraryController,
                RequestContext = new RequestContext(new MockHttpContext(), new RouteData())
            };
            var result = libraryController.Order(Guid.Empty) as ViewResult;

            Assert.IsNotNull(result);
            Assert.AreEqual("Книга уже была выдана.", result.ViewData["Message"]);
        }
        public void Return_If_Book_Exists_Test()
        {
            var listBooks = new List<Book>();
            var book = new Book(Guid.Empty, "Name", "Title", 2000, null);
            listBooks.Add(book);
            library.Setup(lib => lib.GetAllBooks()).Returns(listBooks);

            var result = libraryController.Return(Guid.Empty) as RedirectToRouteResult;

            library.Verify(lib => lib.ReturnBook(book));
            Assert.IsNotNull(result);
            Assert.AreEqual("ReturnList", result.RouteValues["Action"]);
        }
        public bool OrderBook(Book book, Reader reader)
        {
            if (openOrders.Select(o => o.Book).Contains(book)) return false;
            if (!activeReaders.Contains(reader)) return false;

            Order order = new Order(reader, book);
            order.TimeGetBook = DateTime.Now;
            order.TimeReturnBook = DateTime.Now;
            order.LibrarianOpenOrder = workLibrarians.First(l => l.Department == book.Department);

            openOrders.Add(order);
            repository.OrderRepository.Save(order);

            return true;
        }
 public void ReturnBook(Book book)
 {
     Order order = openOrders.Single(o => o.Book == book);
     openOrders.Remove(order);
     order.TimeReturnBook = DateTime.Now;
     order.LibrarianClosedOrder = workLibrarians.First(l => l.Department == book.Department);
     order.Closed = true;
     repository.OrderRepository.Save(order);
 }
コード例 #13
0
 public BookTest()
 {
     b1 = new Book("Author1", "Title1", 1999, new LibraryDepartment("Абонемент", true));
     b2 = new Book("Author2", "Title2", 2000, new LibraryDepartment("Читальный зал", false));
     b3 = new Book(b1.Id, "Author1", "Title1", 1999, b1.Department);
 }
 public override IEnumerable<Order> GetOrdersByBook(Book book, bool closed)
 {
     return context.Orders.Where(order => order.Book.Id == book.Id && order.Closed == closed);
 }
 public override void Remove(Book item)
 {
     Remove(item.Id);
 }