示例#1
0
        public UserDataViewProfileDetail getUserAfterIDetail(int ID, int loggedInID)
        {
            UserData       foundUser  = userDataRepo.FindBy(obj => obj.ID == ID).FirstOrDefault();
            UserDataViewID userOnlyID = new UserDataViewID();

            userOnlyID.ID = 0;

            if (foundUser == null)
            {
                return(null);
            }
            else
            {
                foreach (UserData user in foundUser.user)
                {
                    if (user.ID == loggedInID)
                    {
                        userOnlyID.ID = loggedInID;
                    }
                }
                UserDataViewProfileDetail convertedUser = Mapper.Map <UserData, UserDataViewProfileDetail>(foundUser);
                convertedUser.userLogged = userOnlyID;
                return(convertedUser);
            }
        }
示例#2
0
        public HttpResponseMessage GetASingleBook(HttpRequestMessage request, BookViewWithISBN bookID)
        {
            return(CreateHttpResponse(request, () =>
            {
                Book b = service.getSingleBook(bookID);
                if (b != null)
                {
                    BookViewDetail obj = new BookViewDetail();
                    obj.title = b.title;
                    obj.bookPic = b.bookPic;
                    obj.releaseDate = b.releaseDate;
                    obj.series = b.series;
                    obj.initialReleaseDate = b.initialReleaseDate;
                    obj.ID = b.ID;
                    obj.isbn = b.isbn;
                    obj.noPage = b.noPage;
                    obj.edition = b.edition;
                    obj.bLanguage = b.bLanguage;
                    obj.publisherSite = b.publisherSite;
                    obj.bookFormat = b.bookFormat;
                    obj.publisher = b.publisher;
                    obj.overview = b.overview;

                    UserDataViewID userViewID = new UserDataViewID();
                    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;

                    int searchID = Int32.Parse(bookID.loggedUserID);

                    BookXUser sol = b.bookXuser.FirstOrDefault(a => a.user.ID == searchID);

                    if (sol != null)
                    {
                        UserData rez = sol.user;
                        if (rez != null)
                        {
                            userViewID = Mapper.Map <UserData, UserDataViewID>(rez);
                        }
                    }

                    if (b.rating.Select(x => x.ratingScore).Any())
                    {
                        average = b.rating.Select(x => x.ratingScore).Average();
                    }

                    obj.user = userViewID;
                    obj.author = authorView;
                    obj.genre = genreView;
                    obj.rating = average;


                    HttpResponseMessage response = null;

                    response = request.CreateResponse(HttpStatusCode.OK, obj, JsonMediaTypeFormatter.DefaultMediaType);

                    return response;
                }
                else
                {
                    HttpResponseMessage response = null;

                    BookViewDetail obj = new BookViewDetail();

                    response = request.CreateResponse(HttpStatusCode.OK, obj, JsonMediaTypeFormatter.DefaultMediaType);

                    return response;
                }
            }));
        }