public BookRepository(IUnitOfWork unitOfWork, BookMapper bookMapper, BookStoreDbContext dbContext) { _unitOfWork = unitOfWork; _bookMapper = bookMapper; _dbContext = dbContext; }
public void UpdateBook(BookBusinessModel book) { var mapper = new BookMapper(); this.uow.Items.Update(mapper.Map(book)); this.uow.Commit(); }
public override void PreInitialize() { // Pages Configuration.Authorization.Providers.Add <AbpLearningAuthorizationProvider>(); // 云书单权限 Configuration.Authorization.Providers.Add <CloudBookListAuthorizationProvider>(); // File Configuration.Authorization.Providers.Add <FileAuthorizationProvider>(); // 自定义类型映射 Configuration.Modules.AbpAutoMapper().Configurators.Add(configuration => { BookMapper.CreateMappings(configuration); BookListMapper.CreateMappings(configuration); RoleMapper.CreateMappings(configuration); PermissionMapper.CreateMappings(configuration); UserMapper.CreateMappings(configuration); OrganizationMapper.CreateMappings(configuration); }); }
public void GivenThatBookIsNull_WhenTryingToMapIt_ThenArgumentNullExceptionIsThrown() { var urlHelper = CreateUrlHelper(RequestedUri); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(null, urlHelper); }
public List <BookBusinessModel> GetAllBooks() { var mapper = new BookMapper(); List <Book> books = this.uow.Items.GetAll().OfType <Book>().ToList(); return(books.Select(mapper.Map).ToList()); }
public TagScoreMapperTests() { this.mapper = new TagScoreMapper(); Fixture fixture = new Fixture{RepeatCount = 1}; fixture.Behaviors.Remove(new ThrowingRecursionBehavior()); fixture.Behaviors.Add(new OmitOnRecursionBehavior()); fixture.Customizations.Add(new TypeRelay(typeof(Item), typeof(Book))); Reader reader = fixture.Create<Reader>(); ReaderMapper readerMapper = new ReaderMapper(); var readerModel = readerMapper.Map(reader); // item is book Book book = fixture.Create<Book>(); this.entityWithBook = new TagScore{Id = 1, Item = book, Reader = reader, Score = 0.5f}; BookMapper bookMapper = new BookMapper(); var bookModel = bookMapper.Map(book); this.modelWithBook = new TagScoreBusinessModel{Item = bookModel, Reader = readerModel, Score = 0.5f}; // item is disk Disk disk = fixture.Create<Disk>(); this.entityWithDisk = new TagScore { Id = 1, Item = disk, Reader = reader, Score = 0.5f }; DiskMapper diskMapper = new DiskMapper(); var diskModel = diskMapper.Map(disk); this.modelWithDisk = new TagScoreBusinessModel{Item = diskModel, Reader = readerModel, Score = 0.5f}; // item is magazine Magazine magazine = fixture.Create<Magazine>(); this.entityWithMagazine = new TagScore { Id = 1, Item = magazine, Reader = reader, Score = 0.5f }; MagazineMapper magazineMapper = new MagazineMapper(); var magazineModel = magazineMapper.Map(magazine); this.modelWithMagazine = new TagScoreBusinessModel { Item = magazineModel, Reader = readerModel, Score = 0.5f }; }
public void EntityToModelMappingTest() { var book = this.fixture.Create <Book>(); var bookMapper = new BookMapper(); var bookModel = bookMapper.Map(book); //Assert.AreEqual(book.Id, bookModel.Id, "Id is not correct"); //Assert.AreEqual(book.Name, bookModel.Name, "Name is not correct"); //Assert.AreEqual(book.PageCount, bookModel.PageCount, "PageCount is not correct"); //Assert.AreEqual(book.Publisher, bookModel.Publisher, "Publisher is not correct"); //Assert.AreEqual(book.Year, bookModel.Year, "Year is not correct"); //Assert.IsNotNull(bookModel.Authors); //Assert.IsNotNull(bookModel.Tags); //Assert.IsNotNull(bookModel.Inventories); //Assert.IsNotNull(bookModel.ReservedItems); PropertyInfo[] bookProperties = book.GetType().GetProperties().OrderBy(x => x.Name).ToArray(); PropertyInfo[] bookModelProperties = bookModel.GetType().GetProperties().OrderBy(x => x.Name).ToArray(); for (int i = 0; i < bookProperties.Length; i++) { object expectedValue = bookProperties[i].GetValue(book); object actualValue = bookModelProperties[i].GetValue(bookModel); if (actualValue is IEnumerable) { Assert.IsNotNull(actualValue); } else { Assert.AreEqual(expectedValue, actualValue, bookModelProperties[i].Name + " is not correct"); } } }
public void EntityToModelMappingTest() { var book = this.fixture.Create<Book>(); var bookMapper = new BookMapper(); var bookModel = bookMapper.Map(book); //Assert.AreEqual(book.Id, bookModel.Id, "Id is not correct"); //Assert.AreEqual(book.Name, bookModel.Name, "Name is not correct"); //Assert.AreEqual(book.PageCount, bookModel.PageCount, "PageCount is not correct"); //Assert.AreEqual(book.Publisher, bookModel.Publisher, "Publisher is not correct"); //Assert.AreEqual(book.Year, bookModel.Year, "Year is not correct"); //Assert.IsNotNull(bookModel.Authors); //Assert.IsNotNull(bookModel.Tags); //Assert.IsNotNull(bookModel.Inventories); //Assert.IsNotNull(bookModel.ReservedItems); PropertyInfo[] bookProperties = book.GetType().GetProperties().OrderBy(x => x.Name).ToArray(); PropertyInfo[] bookModelProperties = bookModel.GetType().GetProperties().OrderBy(x => x.Name).ToArray(); for (int i = 0; i < bookProperties.Length; i++) { object expectedValue = bookProperties[i].GetValue(book); object actualValue = bookModelProperties[i].GetValue(bookModel); if (actualValue is IEnumerable) { Assert.IsNotNull(actualValue); } else { Assert.AreEqual(expectedValue, actualValue, bookModelProperties[i].Name + " is not correct"); } } }
public async Task GivenThatOneBookExists_WhenTryingToGetAll_ThenResultContainsCorrectBook() { var book = CreateMockedBook(1); var service = MockRepository.GenerateMock <IModelService <IBook> >(); service.Stub(x => x.GetPaginatedAsync(Arg <int> .Is.Anything, Arg <int> .Is.Anything)) .Return(Task.FromResult((IPagedList <IBook>) new PagedList <IBook>(new List <IBook> { book }.AsQueryable(), 1, 1))); var urlHelper = CreateUrlHelper("http://localhost/api/books/1"); var mapper = new BookMapper(new MediaTypeMapper()); var controller = new BooksController(service, mapper) { Configuration = new HttpConfiguration(), Request = new HttpRequestMessage(HttpMethod.Get, new Uri("http://localhost/api/books/1")), Url = urlHelper }; IEnumerable <Book> books; var result = await controller.Get(); result.TryGetContentValue(out books); Assert.AreEqual(1, books.Count()); Assert.AreEqual("http://localhost/api/books/1", books.ElementAt(0).URL); }
public Mapper() { AuthorMapper = new AuthorMapper(); BookMapper = new BookMapper(); PublisherMapper = new PublisherMapper(); UserMapper = new UserMapper(); }
public BookBusinessModel GetBookById(int id) { var mapper = new BookMapper(); var item = this.uow.Items.GetById(id); var book = item as Book; return mapper.Map(book); }
public async Task GivenThatOneBookExists_WhenTryingToGetAll_ThenResultContainsCorrectBook() { var book = CreateMockedBook(1); var service = MockRepository.GenerateMock <IModelService <IBook, BookFilter> >(); var pagedList = new PagedList <IBook>(new List <IBook> { book }.AsQueryable(), 1, 1); service.Stub(x => x.GetPaginatedAsync(0, 0)).IgnoreArguments() .Return(Task.FromResult((IPagedList <IBook>)pagedList)); var linksFactory = MockRepository.GenerateMock <IPagingLinksFactory <BookFilter> >(); linksFactory.Stub(x => x.Create(pagedList, null, new BookFilter())).IgnoreArguments().Return(new[] { new Link(new Uri("https://localhost.com")) }); var mapper = new BookMapper(new MediaTypeMapper()); var controller = new BooksController(service, mapper, linksFactory) { Configuration = new HttpConfiguration(), Request = new HttpRequestMessage(HttpMethod.Get, new Uri("http://localhost.com")), Url = CreateUrlHelper("http://localhost.com") }; IEnumerable <Book> books; var result = await controller.Get(); result.TryGetContentValue(out books); Assert.AreEqual(1, books.Count()); }
public void GivenThatUrlHelperIsNull_WhenTryingToMapBook_ThenArgumentNullExceptionIsThrown() { var book = MockRepository.GenerateMock <IBook>(); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, null); }
public void TestInitialize() { _fixture = new Fixture(); _authorMapper = new Mock <IAuthorMapper>(MockBehavior.Strict); _target = new BookMapper(_authorMapper.Object); }
public BookBusinessModel GetBookById(int id) { var mapper = new BookMapper(); var item = this.uow.Items.GetById(id); var book = item as Book; return(mapper.Map(book)); }
public ActionResult Edit(BookViewModel book) { if (ModelState.IsValid) { BookRepository.Update(BookMapper.Map(book)); return(RedirectToAction("Index")); } return(View(book)); }
public void CreateBook(BookBusinessModel book) { var mapper = new BookMapper(); var bookNew = mapper.Map(book); this.uow.Items.Add(bookNew); this.uow.Commit(); book.Id = bookNew.Id; // updates the book.Id to Id value from DB }
public void GivenThatBookHasCountry_WhenTryingToMapIt_ThenMappedBookHasSameCountry() { var book = CreateMockedBook(1); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(book.Country, mappedBook.Country); }
/*поменяла в int? на int в параметрах*/ public async Task <ActionResult> Index(int id) { var genre = GenreMapper.Map(await genresClient.GetGenre(id).ConfigureAwait(false)); var books = BookMapper.Map(await booksClient.GetWithGenre(id).ConfigureAwait(false)); var model = new GenrePage(genre, books); return(View(model)); }
public void GivenThatBookHasIdentifier_WhenTryingToMapIt_ThenMappedBookHasUrlWithIdentifierInIt() { var book = CreateMockedBook(1); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(RequestedUri, mappedBook.URL); }
public ViewResult Index(int id) { var cartItems = CartItemMapper.Map(cartItemClient.GetItems(id).Result); var bookIds = cartItems.ConvertAll(item => item.BookId); var books = BookMapper.Map(booksClient.GetBooks(bookIds).Result); var model = BookMapper.Map(books, cartItems); return(View(model)); }
public void GivenThatBookHasName_WhenTryingToMapIt_ThenMappedBookHasSameName() { var book = CreateMockedBook(1); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(book.Name, mappedBook.Name); }
public TagScoreMapperTests() { this.mapper = new TagScoreMapper(); Fixture fixture = new Fixture { RepeatCount = 1 }; fixture.Behaviors.Remove(new ThrowingRecursionBehavior()); fixture.Behaviors.Add(new OmitOnRecursionBehavior()); fixture.Customizations.Add(new TypeRelay(typeof(Item), typeof(Book))); Reader reader = fixture.Create <Reader>(); ReaderMapper readerMapper = new ReaderMapper(); var readerModel = readerMapper.Map(reader); // item is book Book book = fixture.Create <Book>(); this.entityWithBook = new TagScore { Id = 1, Item = book, Reader = reader, Score = 0.5f }; BookMapper bookMapper = new BookMapper(); var bookModel = bookMapper.Map(book); this.modelWithBook = new TagScoreBusinessModel { Item = bookModel, Reader = readerModel, Score = 0.5f }; // item is disk Disk disk = fixture.Create <Disk>(); this.entityWithDisk = new TagScore { Id = 1, Item = disk, Reader = reader, Score = 0.5f }; DiskMapper diskMapper = new DiskMapper(); var diskModel = diskMapper.Map(disk); this.modelWithDisk = new TagScoreBusinessModel { Item = diskModel, Reader = readerModel, Score = 0.5f }; // item is magazine Magazine magazine = fixture.Create <Magazine>(); this.entityWithMagazine = new TagScore { Id = 1, Item = magazine, Reader = reader, Score = 0.5f }; MagazineMapper magazineMapper = new MagazineMapper(); var magazineModel = magazineMapper.Map(magazine); this.modelWithMagazine = new TagScoreBusinessModel { Item = magazineModel, Reader = readerModel, Score = 0.5f }; }
public void GivenBookMapper_WhenMapToBookDto_ThenReturnListWithBookDto() { DBAuthors.AuthorDB = FakedataAuthor(); BookMapper bookMapper = new BookMapper(); Book book = new Book { BookTitle = "test", Isbn = "5", AuthorId = "1" }; Assert.IsType <BookDTO>(bookMapper.BooksMapper(book)); }
public async Task <IEnumerable <Book> > GetReadingList(string listName, string label = null) { await _board.Lists.Refresh(); var cardList = string.IsNullOrEmpty(label) ? _board.Lists.FirstOrDefault(l => l.Name.Equals(listName))?.Cards : _board.Lists.FirstOrDefault(l => l.Name.Equals(listName))?.Cards.Where(c => c.Labels.All(l => l.Name.ToLower().Equals(label.ToLower()))); return(cardList?.Select(card => BookMapper.CreateBook(card.Name, card.Labels.FirstOrDefault()?.Name.ToLower() ?? ReadingListConstants.UnspecifiedLabel)).ToList()); }
public void GivenThatBookHasISBN_WhenTryingToMapIt_ThenMappedBookHasSameISBN() { var book = CreateMockedBook(1); book.Stub(x => x.ISBN).Return("isbn"); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(book.ISBN, mappedBook.ISBN); }
public void GivenThatBookHasReleaseDate_WhenTryingToMapIt_ThenMappedBookHasSameReleaseDate() { var book = CreateMockedBook(1); book.Stub(x => x.Released).Return(new DateTime(2000, 1, 1)); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(book.Released, mappedBook.Released); }
public async Task <ActionResult> Index() { var novelties = BookMapper.Map(await booksClient.GetNovelties().ConfigureAwait(false)); var popular = BookMapper.Map(await booksClient.GetPopular().ConfigureAwait(false)); var model = new MainContentModel { Novelties = novelties, Popular = popular }; return(View(model)); }
public void GivenThatBookHasAuthors_WhenTryingToMapIt_ThenMappedBookHasSameAuthors() { var book = CreateMockedBook(1); book.Stub(x => x.Released).Return(new DateTime(2000, 1, 1)); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(book.Authors.Count, mappedBook.Authors.Count()); Assert.AreEqual(book.Authors.ElementAt(0), mappedBook.Authors.ElementAt(0)); }
public void GivenThatBookHasMediaType_WhenTryingToMapIt_ThenMappedBookHasSameMediaType() { var book = CreateMockedBook(1); book.Stub(x => x.Released).Return(new DateTime(2000, 1, 1)); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(AnApiOfIceAndFire.Models.v1.MediaType.Hardcover, mappedBook.MediaType); }
// [Route("Books")] localhost:port/Books public IActionResult Index() { List <Book> books = StaticDb.Books; List <BookListViewModel> bookListViewModels = new List <BookListViewModel>(); foreach (Book book in books) { bookListViewModels.Add(BookMapper.ToBookListViewModel(book)); } return(View(bookListViewModels)); }
public async Task <Book> Handle(AddBookCommand request, CancellationToken cancellationToken) { // add to database BookEntity entity = await _booksRepository.AddAsync(request.Name, request.Price); // map Book book = BookMapper.MapToModel(entity); // return return(book); }
public IActionResult Details(int?id) { if (id != null) { // if we send id find the book we are looking for Book book = StaticDb.Books.FirstOrDefault(x => x.Id == id); BookDetailsViewModel bookDetailsViewModel = BookMapper.ToBookDetailsViewModel(book); return(View(bookDetailsViewModel)); } return(new EmptyResult()); }
public async Task <Book> Handle(GetBookByIdQuery request, CancellationToken cancellationToken) { // load from database BookEntity entity = await _booksRepository.GetByIdAsync(request.BookId); if (entity is null) { return(null); } return(BookMapper.MapToModel(entity)); }
/// <summary> /// Gets All books /// </summary> /// <returns>The BookBusinessModel list</returns> public List<BookBusinessModel> GetAllBooks() { var models = new List<BookBusinessModel>(); using (LibraryUow uow = new LibraryUow()) { var bookInfoMapper = new BookMapper(); var books = uow.Items.GetAll().OfType<Book>().ToList(); books.ForEach(book => models.Add(bookInfoMapper.Map(book))); } return models; }
public void GivenThatBookHasCharacters_WhenTryingToMapIt_ThenMappedBookCharactersContainsCorrectUrls() { var book = CreateMockedBook(1); var character = MockRepository.GenerateMock<ICharacter>(); character.Stub(x => x.Identifier).Return(10); book.Stub(x => x.Characters).Return(new List<ICharacter> { character }); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(1, mappedBook.Characters.Count()); Assert.AreEqual($"http://localhost/api/characters/{character.Identifier}", mappedBook.Characters.ElementAt(0)); }
public void ModelToEntityMappingTest() { var bookModel = this.fixture.Create<BookBusinessModel>(); var bookMapper = new BookMapper(); var book = bookMapper.Map(bookModel); Assert.AreEqual(bookModel.Id, book.Id, "Id is not correct"); Assert.AreEqual(bookModel.Name, book.Name, "Name is not correct"); Assert.AreEqual(bookModel.PageCount, book.PageCount, "PageCount is not correct"); Assert.AreEqual(bookModel.Publisher, book.Publisher, "Publisher is not correct"); Assert.AreEqual(bookModel.Year, book.Year, "Year is not correct"); Assert.IsNotNull(book.Authors); Assert.IsNotNull(book.Tags); Assert.IsNotNull(book.Inventories); Assert.IsNotNull(book.ReservedItems); }
public ActionResult Edit(int id) { var item = this.itemManager.GetItemById(id); if (item == null) { return this.HttpNotFound(); } if (item is BookBusinessModel) { Book book = new BookMapper().Map(item as BookBusinessModel); BookWithAuthorsShort bookWithAuthors = new BookWithAuthorsShortMapper().Map(book); return this.View("_EditBook", bookWithAuthors); } else if (item is MagazineBusinessModel) { return this.View("_EditMagazine", item as MagazineBusinessModel); } else { return this.View("_EditDisk", item as DiskBusinessModel); } }
public List<BookBusinessModel> GetAllBooks() { var mapper = new BookMapper(); List<Book> books = this.uow.Items.GetAll().OfType<Book>().ToList(); return books.Select(mapper.Map).ToList(); }
//public string GetAllBooksXml() //{ // var models = new List<BookBusinessModel>(); // using (LibraryUow uow = new LibraryUow()) // { // var bookInfoMapper = new BookMapper(); // var books = uow.Books.GetAll().ToList(); // books.ForEach(book => models.Add(bookInfoMapper.Map(book))); // } // List<BookModel> myBooks = models.Select(mod => new BookModel // { // Id = mod.Id, // Name = mod.Name, // Authors = mod.Authors != null ? (mod.Authors.Select(a => new AuthorModel { Id = a.Id, FirstName = a.FirstName, LastName = a.LastName }).ToList()) : null, // Publisher = mod.Publisher, // Year = mod.Year, // PageCount = mod.PageCount // }).ToList(); // XmlSerializer myXmlSerializer = new XmlSerializer(typeof(List<BookModel>)); // StreamWriter myStreamWriter = new StreamWriter(@"c:\Books.xml"); // myXmlSerializer.Serialize(myStreamWriter, myBooks); // myStreamWriter.Close(); // string sTemp = "Look for file on folder!!!"; // return sTemp; //} public List<BookBusinessModel> GetBookByName(string searchString) { var bookModels = new List<BookBusinessModel>(); string[] words = searchString.Trim().Split(' '); using (LibraryUow uow = new LibraryUow()) { var bookInfoMapper = new BookMapper(); var books = uow.Items.GetAll().OfType<Book>().ToList(); // Search by BookName foreach (var book in books) { foreach (string word in words) { if (book.Name.ToLower().Contains(word.ToLower()) || word.ToLower().Contains(book.Name.ToLower())) { var bookToMap = bookInfoMapper.Map(book); // Distinct if (!bookModels.Any(b => b.Id == bookToMap.Id)) { bookModels.Add(bookToMap); } } } } // Search by Authors FirstName or LastName foreach (var book in books) { foreach (var author in book.Authors) { foreach (string word in words) { if (author.FirstName.ToLower().Contains(word.ToLower()) || word.ToLower().Contains(author.FirstName.ToLower()) || author.LastName.ToLower().Contains(word.ToLower()) || word.ToLower().Contains(author.LastName.ToLower())) { var bookToMap = bookInfoMapper.Map(book); if (!bookModels.Any(b => b.Id == bookToMap.Id)) { bookModels.Add(bookToMap); } } } } } } return bookModels; }
public void GivenThatUrlHelperIsNull_WhenTryingToMapBook_ThenArgumentNullExceptionIsThrown() { var book = MockRepository.GenerateMock<IBook>(); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, null); }
public async Task GivenThatOneBookExists_WhenTryingToGetAll_ThenResultContainsCorrectBook() { var book = CreateMockedBook(1); var service = MockRepository.GenerateMock<IModelService<IBook, BookFilter>>(); var pagedList = new PagedList<IBook>(new List<IBook> { book }.AsQueryable(), 1, 1); service.Stub(x => x.GetPaginatedAsync(0, 0)).IgnoreArguments() .Return(Task.FromResult((IPagedList<IBook>)pagedList)); var linksFactory = MockRepository.GenerateMock<IPagingLinksFactory<BookFilter>>(); linksFactory.Stub(x => x.Create(pagedList, null, new BookFilter())).IgnoreArguments().Return(new[] { new Link(new Uri("https://localhost.com")) }); var mapper = new BookMapper(new MediaTypeMapper()); var controller = new BooksController(service, mapper, linksFactory) { Configuration = new HttpConfiguration(), Request = new HttpRequestMessage(HttpMethod.Get, new Uri("http://localhost.com")), Url = Helper.CreateUrlHelper("http://localhost.com") }; IEnumerable<Book> books; var result = await controller.Get(); result.TryGetContentValue(out books); Assert.AreEqual(1, books.Count()); }
public void GivenThatBookHasMediaType_WhenTryingToMapIt_ThenMappedBookHasSameMediaType() { var book = CreateMockedBook(1); book.Stub(x => x.Released).Return(new DateTime(2000, 1, 1)); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(AnApiOfIceAndFire.Models.v0.MediaType.Hardcover, mappedBook.MediaType); }
public async Task GivenThatOneBookExists_WhenTryingToGetAll_ThenResultContainsCorrectBook() { var book = CreateMockedBook(1); var service = MockRepository.GenerateMock<IModelService<IBook>>(); service.Stub(x => x.GetPaginatedAsync(Arg<int>.Is.Anything, Arg<int>.Is.Anything)) .Return(Task.FromResult((IPagedList<IBook>)new PagedList<IBook>(new List<IBook> { book }.AsQueryable(), 1, 1))); var urlHelper = CreateUrlHelper("http://localhost/api/books/1"); var mapper = new BookMapper(new MediaTypeMapper()); var controller = new BooksController(service, mapper) { Configuration = new HttpConfiguration(), Request = new HttpRequestMessage(HttpMethod.Get, new Uri("http://localhost/api/books/1")), Url = urlHelper }; IEnumerable<Book> books; var result = await controller.Get(); result.TryGetContentValue(out books); Assert.AreEqual(1, books.Count()); Assert.AreEqual("http://localhost/api/books/1", books.ElementAt(0).URL); }
public void GivenThatBookHasNumberOfPages_WhenTryingToMapIt_ThenMappedBookHasSameNumberOfPages() { var book = CreateMockedBook(1); var mapper = new BookMapper(new MediaTypeMapper()); var mappedBook = mapper.Map(book, CreateUrlHelper(RequestedUri)); Assert.AreEqual(book.NumberOfPages, mappedBook.NumberOfPages); }
public ItemBusinessModel GetItemInfoById(int id) { var item = this.uow.Items.GetById(id); ItemBusinessModel itemBusinessModel; if (item is Book) { itemBusinessModel = new BookMapper().Map(item as Book); } else if (item is Magazine) { itemBusinessModel = new MagazineMapper().Map(item as Magazine); } else { itemBusinessModel = new DiskMapper().Map(item as Disk); } return itemBusinessModel; }