コード例 #1
0
        public BookResource Execute(Book bookToAdd)
        {
            var book     = _bookRepository.Add(bookToAdd);
            var resource = _bookResourceMapper.MapToResouce(book);

            return(resource);
        }
コード例 #2
0
        public BookResource Query(int bookId)
        {
            BookResource resource = null;
            Book         book     = _bookRepository.Get(bookId);

            if (book != null)
            {
                resource = _bookResourceMapper.MapToResouce(book);
            }
            return(resource);
        }
コード例 #3
0
        public BookCatalogResource Query()
        {
            var books = _bookRepository.GetAll().Where(book => book.State == BookState.CheckedOut);;
            BookCatalogResource resource = new BookCatalogResource();

            resource.Self    = _resourceLinker.GetResourceLink <BooksController>(request => request.Get(), "self", "Checked Out Books", HttpMethod.Get);
            resource.Catalog = new List <BookResource>();
            foreach (var book in books)
            {
                resource.Catalog.Add(_bookResourceMapper.MapToResouce(book));
            }
            return(resource);
        }
コード例 #4
0
        public BookCatalogResource Query()
        {
            var books = _bookRepository.GetAll();
            BookCatalogResource resource = new BookCatalogResource();

            resource.Self  = _resourceLinker.GetResourceLink <BooksController>(request => request.Get(), "self", "Library Catalog", HttpMethod.Get);
            resource.Links = new List <Link>();
            resource.Links.Add(_resourceLinker.GetResourceLink <RootController>(request => request.Get(), "home", "Home", HttpMethod.Get));
            resource.Catalog = new List <BookResource>();
            foreach (var book in books)
            {
                resource.Catalog.Add(_bookResourceMapper.MapToResouce(book));
            }
            return(resource);
        }
コード例 #5
0
        public BookResource Execute(int checkIn)
        {
            var book = _bookRepository.Get(checkIn);

            try
            {
                book.CheckIn("fake user");
            }
            catch (AlreadyCheckedInException)
            {
                //log it
            }
            var resource = _bookResourceMapper.MapToResouce(book);

            return(resource);
        }
コード例 #6
0
        public BookResource Execute(int checkIn)
        {
            var book  = _bookRepository.Get(checkIn);
            var links = new List <Link>();

            try
            {
                book.CheckOut("fake user");
            }
            catch (AlreadyCheckedOutException)
            {
                //log things
            }
            var resource = _bookResourceMapper.MapToResouce(book);

            resource.Links.AddRange(links);
            return(resource);
        }