コード例 #1
0
        public async Task <BookDomain> UpdateBookByBookId(UpdateNewBookRequest updateNewBook)
        {
            BookDomain book       = DtoDomainMapper.MapDtoToDomainToUpdateBook(updateNewBook);
            var        UpdateBook = await _libraryRepository.UpdateBookById(book).ConfigureAwait(false);

            return(UpdateBook);
        }
コード例 #2
0
        public async Task AddNewBook_InvalidData()
        {
            //Arrange
            var request = new AddNewBookRequest()
            {
                NewBookDetail = new BookDto()
                {
                }
            };
            BookDomain ValidCarts = new BookDomain
            {
                BookId     = 111,
                BookName   = "Test",
                BookType   = "1",
                BookAuthor = "Rahul"
            };

            _libraryRepository.AddNewBook(ValidCarts).Returns(ValidCarts);

            // Act
            var result = await _libraryManager.AddNewBook(request).ConfigureAwait(false);

            // Assert
            result.Should().BeNull();
        }
コード例 #3
0
        public async Task <BookDomain> AddNewBook(AddNewBookRequest newBookRequest)
        {
            BookDomain book     = DtoDomainMapper.MapDtoToDomain(newBookRequest);
            var        AddBooks = await _libraryRepository.AddNewBook(book).ConfigureAwait(false);

            return(AddBooks);
        }
コード例 #4
0
        public async Task UpdateBookById_OK()
        {
            //Arrange

            var entity = Create <BookEntity>(x =>
            {
                x.BookId     = 101;
                x.BookAuthor = "Priya";
                x.BookName   = "DC";
                x.BookType   = "2";
            });

            var book = new BookDomain()
            {
                BookId = 101,
            };

            //Act
            using (var _context = new LibraryContextMemory(_configuration))
            {
                var libraryRepository = new LibraryRepository(_context);
                var result            = await libraryRepository.UpdateBookById(book);

                // Assert
                result.Should().NotBeNull("Must contain a result");
                result.BookId.Equals(101);
            }
        }
コード例 #5
0
        public async Task AddNewBook_OK()
        {
            //Arrange
            var request = new AddNewBookRequest()
            {
                NewBookDetail = new BookDto()
                {
                    pkBookId   = 111,
                    BookName   = "Test",
                    BookType   = "1",
                    BookAuthor = "Rahul"
                }
            };
            BookDomain ValidCarts = new BookDomain
            {
                BookId     = 111,
                BookName   = "Test",
                BookType   = "1",
                BookAuthor = "Rahul"
            };

            _libraryRepository.AddNewBook(Arg.Any <BookDomain>()).Returns(ValidCarts);

            // Act
            var result = await _libraryManager.AddNewBook(request).ConfigureAwait(false);

            // Assert
            result.Should().NotBeNull("Must contain a result");
            result.BookId.Should().Be(ValidCarts.BookId);
            result.BookName.Should().Be(ValidCarts.BookName);
        }
コード例 #6
0
 public void RemoveNote()
 {
     Book = BookDomain.SetUnchanged(Book);
     Editing.EntityState = EntityState.Deleted;
     _bookDomain.UpdateBook(Book);
     OnNoteChanged();
 }
コード例 #7
0
        public async Task <IActionResult> UpdateBookById([FromBody] UpdateNewBookRequest updateNewBook)
        {
            var msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError));

            if (!ModelState.IsValid)
            {
                msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ModelState));
            }

            try
            {
                BookDomain bookInfo = await _libraryManager.UpdateBookByBookId(updateNewBook).ConfigureAwait(false);

                if (bookInfo == null)
                {
                    return(CreateResponse(HttpStatusCode.NotFound,
                                          ApiErrorProvider.GetErrorResponse(ApiErrorCodes.BookIdRequestIsInvalid)));
                }

                msg = CreateResponse(HttpStatusCode.OK, bookInfo);
            }

            catch (UserIdNotValidException ex)
            {
                msg = CreateResponse(HttpStatusCode.NotFound, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.UserIdNotPresent));
            }
            catch (Exception ex)
            {
                msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError));
            }

            return(msg);
        }
コード例 #8
0
        public async Task <IActionResult> AddNewBook([FromBody] AddNewBookRequest newBookRequest)
        {
            var msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError));

            if (!ModelState.IsValid)
            {
                msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ModelState));
            }
            else
            {
                try
                {
                    BookDomain newBookDomain = await _libraryManager.AddNewBook(newBookRequest).ConfigureAwait(false);

                    if (newBookDomain == null)
                    {
                        msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.BadRequest));
                    }
                    else
                    {
                        msg = CreateResponse(HttpStatusCode.Created, newBookDomain);
                    }
                }

                catch (BookIdAlridyPresent ex)
                {
                    msg = CreateErrorResponse(ex.StatusCode, ApiErrorCodes.BookIdNotFound);
                }
                catch (Exception ex)
                {
                    msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError));
                }
            }
            return(msg);
        }
コード例 #9
0
        public async Task UpdateBookById_OK()
        {
            //Arrange
            var request = new UpdateNewBookRequest()
            {
                UpdateBookDetail = new BookDto()
                {
                    pkBookId   = 122,
                    BookName   = "C++",
                    BookAuthor = "Radha",
                    BookType   = "1"
                }
            };
            var AddBooks = new BookDomain()
            {
                BookId     = 123,
                BookName   = "C++",
                BookAuthor = "Radha",
                BookType   = "1"
            };

            _libraryManager.UpdateBookByBookId(Arg.Any <UpdateNewBookRequest>()).Returns(AddBooks);

            //Act

            var result = (ObjectResult)await _libraryController.UpdateBookById(request).ConfigureAwait(false);

            //Assert
            result.Should().NotBeNull("Must contain a result");
            result.Value.Equals(AddBooks);
        }
コード例 #10
0
 public void SaveNote()
 {
     Book                = BookDomain.SetUnchanged(_book);
     Editing.NoteText    = _noteText;
     Editing.EntityState = EntityState.Modified;
     _bookDomain.UpdateBook(Book);
     OnNoteChanged();
 }
コード例 #11
0
        public async Task <BookDomain> DeleteBookByBookId(int bookId)
        {
            BookDomain BookInfo   = null;
            BookEntity bookEntity = await _libraryRepository.DeleteBookById(bookId).ConfigureAwait(false);

            if (bookEntity != null)
            {
                BookInfo = EntityDomainMapper.MapEntityToDomains(bookEntity);
            }
            return(BookInfo);
        }
コード例 #12
0
        public async Task <BookDomain> UpdateBookById(BookDomain book)
        {
            BookEntity bookEntity = EntityDomainMapper.MapEntityToDomain(book);

            var GetBookByIds = await Context.bookEntity.AsNoTracking().SingleOrDefaultAsync(e => e.BookId.Equals(book.BookId));

            if (GetBookByIds == null)
            {
                throw new UserIdNotValidException(HttpStatusCode.NotFound, "BookIdNot Found", null);
            }
            Context.Database.EnsureCreated();
            Context.bookEntity.Update(bookEntity);
            await Context.SaveChangesAsync();

            return(book);
        }
コード例 #13
0
        public async Task <BookDomain> AddNewBook(BookDomain book)
        {
            BookEntity bookEntity   = EntityDomainMapper.MapEntityToDomain(book);
            var        GetBookByIds = await Context.bookEntity.SingleOrDefaultAsync(e => e.BookId.Equals(book.BookId));

            if (GetBookByIds != null)
            {
                throw new BookIdAlridyPresent(HttpStatusCode.NotFound, "BookIdAlridyPresent", null);
            }

            Context.Database.EnsureCreated();
            Context.bookEntity.Add(bookEntity);
            await Context.SaveChangesAsync();

            return(book);
        }
コード例 #14
0
        private void AddNote()
        {
            Book = BookDomain.SetUnchanged(Book);
            var note = new Note {
                Book = Book, NoteText = _noteText, CreatedDateTime = DateTime.Now
            };

            if (PageNumber != null)
            {
                note.PageNumber = PageNumber;
            }
            note.EntityState = EntityState.Added;
            Book.Notes.Add(note);
            _bookDomain.UpdateBook(Book);
            OnNoteChanged();
        }
コード例 #15
0
        public MainViewModel()
        {
            SourceDirectories    = new ObservableCollection <SourceDirectory>();
            StarColor            = new SolidColorBrush(Colors.White);
            ScrapedColor         = new SolidColorBrush(Colors.White);
            ToggleFavouriteColor = new SolidColorBrush(Colors.Black);

            _bookDomain   = new BookDomain();
            BookTiles     = new BookTiles();
            BookDetails   = new BookDetails();
            PdfViewer     = new PdfViewer();
            FilterOnTitle = true;
            //  var savedView = AppConfig.LoadSetting("SavedView");
            //switch (savedView)
            //{
            //    case "Tiles":
            //        BookView = BookTiles;
            //        break;

            //    case "Details":
            //        BookView = BookDetails;
            //        break;

            //    default:
            //        BookView = new BookTiles();
            //        break;
            //}
            BookView = BookTiles;
            ProgressService.RegisterSubscriber(this);

            var sortt = new List <string>
            {
                "Title [A-Z]",
                "Title [Z-A]",
                "Date Published [Newest]",
                "Date Published [Oldest]",
                "Date Added [Newest]",
                "Date Added [Oldest]"
            };

            SortList = new ObservableCollection <string>(sortt);
            RefreshAllBooks();
            RefreshPublishersAndAuthors();
            SelectedSort = "Title [A-Z]";
        }
コード例 #16
0
ファイル: MainViewModel.cs プロジェクト: nathanashton/Bookie
        public MainViewModel()
        {
            SourceDirectories = new ObservableCollection<SourceDirectory>();
            StarColor = new SolidColorBrush(Colors.White);
            ScrapedColor = new SolidColorBrush(Colors.White);
            ToggleFavouriteColor = new SolidColorBrush(Colors.Black);

            _bookDomain = new BookDomain();
            BookTiles = new BookTiles();
            BookDetails = new BookDetails();
            PdfViewer = new PdfViewer();
            FilterOnTitle = true;
            //  var savedView = AppConfig.LoadSetting("SavedView");
            //switch (savedView)
            //{
            //    case "Tiles":
            //        BookView = BookTiles;
            //        break;

            //    case "Details":
            //        BookView = BookDetails;
            //        break;

            //    default:
            //        BookView = new BookTiles();
            //        break;
            //}
            BookView = BookTiles;
            ProgressService.RegisterSubscriber(this);

            var sortt = new List<string>
            {
                "Title [A-Z]",
                "Title [Z-A]",
                "Date Published [Newest]",
                "Date Published [Oldest]",
                "Date Added [Newest]",
                "Date Added [Oldest]"
            };

            SortList = new ObservableCollection<string>(sortt);
            RefreshAllBooks();
            RefreshPublishersAndAuthors();
            SelectedSort = "Title [A-Z]";
        }
コード例 #17
0
        public async Task UpdateBookByBookIdManagerTests_InvalidData()
        {
            //Arrange
            var request = new UpdateNewBookRequest()
            {
                UpdateBookDetail = new BookDto()
                {
                }
            };
            BookDomain ValidCarts = new BookDomain {
            };

            _libraryRepository.UpdateBookById(Arg.Any <BookDomain>()).Returns(ValidCarts);

            // Act
            var result = await _libraryManager.UpdateBookByBookId(request).ConfigureAwait(false);

            // Assert
            result.Should().NotBeNull("Must contain a result");
        }
コード例 #18
0
        public async Task AddNewBook_OK()
        {
            //Arrange
            BookDomain books = new BookDomain();

            var entity = Create <BookDomain>(new BookDomain
            {
                BookId     = 101,
                BookAuthor = "Rahul",
                BookName   = "c#",
                BookType   = "1",
            });

            //Act
            using (var _context = new LibraryContextMemory(_configuration))
            {
                var libraryRepository = new LibraryRepository(_context);
                var result            = await libraryRepository.AddNewBook(entity);

                // Assert
                result.Should().NotBeNull("Must contain a result");
            }
        }
コード例 #19
0
        public async Task <IActionResult> GetBookById(int BookId)
        {
            var msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError));

            if (!ModelState.IsValid)
            {
                msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ModelState));
            }
            else
            {
                try
                {
                    if (BookId <= 0)
                    {
                        return(CreateResponse(HttpStatusCode.NotFound,
                                              ApiErrorProvider.GetErrorResponse(ApiErrorCodes.NotFound)));
                    }

                    BookDomain bookInfo = await _libraryManager.GetBookInfoByBookId(BookId).ConfigureAwait(false);

                    if (bookInfo == null)
                    {
                        return(CreateResponse(HttpStatusCode.NotFound,
                                              ApiErrorProvider.GetErrorResponse(ApiErrorCodes.BookIdRequestIsInvalid)));
                    }

                    msg = CreateResponse(HttpStatusCode.OK, bookInfo);
                }
                catch (Exception ex)
                {
                    msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError));
                }
            }

            return(msg);
        }
コード例 #20
0
 public EditBookViewModel()
 {
     _bookDomain = new BookDomain();
 }
コード例 #21
0
 public void Refresh()
 {
     Book = new BookDomain().GetBookById(Book.Id);
 }
コード例 #22
0
ファイル: NoteViewModel.cs プロジェクト: nathanashton/Bookie
 public NoteViewModel()
 {
     _bookDomain = new BookDomain();
 }
コード例 #23
0
 public NoteViewModel()
 {
     _bookDomain = new BookDomain();
 }
コード例 #24
0
 public void Refresh()
 {
     Book = new BookDomain().GetBookById(Book.Id);
 }
コード例 #25
0
 public RemoveBookViewModel()
 {
     _bookDomain = new BookDomain();
 }
コード例 #26
0
 public EditBookViewModel()
 {
     _bookDomain = new BookDomain();
 }
コード例 #27
0
 public static BookEntity MapEntityToDomain(BookDomain book)
 {
     return(mapper.Map <BookEntity>(book));
 }
コード例 #28
0
 public static AddBookResponse MapDomainToDto(BookDomain book)
 {
     return(mapper.Map <AddBookResponse>(book));
 }
コード例 #29
0
 public RemoveBookViewModel()
 {
     _bookDomain = new BookDomain();
 }