public HttpResponseMessage GetPagined(HttpRequestMessage request, [FromUri] PagingParameterModel pagingparametermodel, [FromUri] string filterAfter, [FromUri] string filterField, [FromUri] string sortMethod) { return(CreateHttpResponse(request, () => { int CurrentPage = pagingparametermodel.pageNumber; int PageSize = pagingparametermodel.pageSize; IEnumerable <Book> books = service.getBookFilteredPaginated(CurrentPage, PageSize, filterAfter, filterField, sortMethod); List <BookViewList> bookList = new List <BookViewList>(); foreach (Book b in books) { BookViewList obj = new BookViewList(); obj.title = b.title; obj.bookPic = b.bookPic; obj.releaseDate = b.releaseDate; obj.ID = b.ID; List <GenreViewName> genreView = Mapper.Map <List <Genre>, List <GenreViewName> >(b.genre.ToList()); List <AuthorViewName> authorView = Mapper.Map <List <Author>, List <AuthorViewName> >(b.author.ToList()); double average = 0; if (b.rating.Select(x => x.ratingScore).Any()) { average = b.rating.Select(x => x.ratingScore).Average(); } obj.author = authorView; obj.genre = genreView; obj.rating = average; bookList.Add(obj); } HttpResponseMessage response = null; response = request.CreateResponse(HttpStatusCode.OK, bookList, JsonMediaTypeFormatter.DefaultMediaType); return response; })); }
public HttpResponseMessage GetReviewUsers(HttpRequestMessage request, [FromUri] PagingParameterModel pagingparametermodel, [FromUri] string filterAfter, [FromUri] string filterField, [FromUri] string sortMethod, [FromUri] string IDURL) { return(CreateHttpResponse(request, () => { int CurrentPage = pagingparametermodel.pageNumber; int PageSize = pagingparametermodel.pageSize; IEnumerable <Review> reviews = service.getReviewAfterUser(IDURL, CurrentPage, PageSize, filterAfter, filterField, sortMethod); List <ReviewOfUserView> reviewList = new List <ReviewOfUserView>(); foreach (Review b in reviews) { ReviewOfUserView obj = new ReviewOfUserView(); obj.reviewText = b.reviewText; obj.userID = b.userID; obj.bookID = b.bookID; obj.ID = b.ID; obj.ratingScore = 0; obj.addedTime = b.addedTime; UserDataNoPass usr = servUs.getUserAfterID(obj.userID); if (usr != null) { obj.user = usr; } else { obj.user = new UserDataNoPass(); } RatingView rati = servRat.getRating(obj.bookID, obj.userID); if (rati != null) { obj.ratingScore = rati.ratingScore; } else { obj.ratingScore = 0; } Book bookOfRev = b.book; BookViewList bookObj = new BookViewList(); bookObj.title = bookOfRev.title; bookObj.bookPic = bookOfRev.bookPic; bookObj.releaseDate = bookOfRev.releaseDate; bookObj.ID = bookOfRev.ID; List <GenreViewName> genreView = Mapper.Map <List <Genre>, List <GenreViewName> >(bookOfRev.genre.ToList()); List <AuthorViewName> authorView = Mapper.Map <List <Author>, List <AuthorViewName> >(bookOfRev.author.ToList()); double average = 0; if (bookOfRev.rating.Select(x => x.ratingScore).Any()) { average = bookOfRev.rating.Select(x => x.ratingScore).Average(); } bookObj.author = authorView; bookObj.genre = genreView; bookObj.rating = average; obj.book = bookObj; reviewList.Add(obj); } HttpResponseMessage response = null; response = request.CreateResponse(HttpStatusCode.OK, reviewList, JsonMediaTypeFormatter.DefaultMediaType); return response; })); }