Пример #1
0
        public async Task Should_Return_When_Gets_Incorrect_List_Of_Already_Borrowed_Books()
        {
            var bookMobileReturnDto = new BookMobileReturnDto
            {
                Code           = "99",
                OrganizationId = 1,
                OfficeId       = 1
            };

            var result = (await _bookService.ReturnBookAsync(bookMobileReturnDto)).ToList();

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(3, result.First().LogId);
        }
Пример #2
0
        public async Task <IEnumerable <BookMobileLogDto> > ReturnBookAsync(BookMobileReturnDto bookDto)
        {
            var booksToReturn = await _bookLogDbSet
                                .Include(b => b.BookOffice)
                                .Include(b => b.BookOffice.Book)
                                .Include(b => b.ApplicationUser)
                                .Where(b => b.BookOffice.Book.Code == bookDto.Code &&
                                       b.OrganizationId == bookDto.OrganizationId &&
                                       b.Returned == null &&
                                       b.BookOffice.OfficeId == bookDto.OfficeId)
                                .Select(MapBookToBookMobileLogDto())
                                .ToListAsync();

            _serviceValidator.ThrowIfThereIsNoBookToReturn(booksToReturn.Any());

            if (booksToReturn.Count > 1)
            {
                return(booksToReturn);
            }

            await ReturnSpecificBookAsync(booksToReturn.First().LogId);

            return(null);
        }