public void Post(ReviewSubmitModel comment)
        {
            BookReview br = new BookReview
            {
                Name           = comment.Name,
                Isbn           = comment.ISBN,
                Rating         = comment.Rating,
                ReviewComments = comment.ReviewComment,
                ReviewedBy     = comment.ReviewBy,
                CreatedOn      = DateTime.Now
            };

            bookReviewProvider.SaveReviewComment(br);
            string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(comment);
            //SendMessages(jsonString).Wait();
        }
Esempio n. 2
0
        public HttpResponseMessage Post(ReviewSubmitModel reviewModel)
        {
            Wine wine;

            Review review = new Review()
            {
                UserId   = "UnknownUser",
                UserName = reviewModel.UserName,
                Text     = reviewModel.Text,
                Rating   = reviewModel.Rating
            };

            using (var session = ravenStore.OpenSession())
            {
                wine = session.Load <Wine>(reviewModel.SubjectId);

                var userId = session.Query <UserProfile>().FirstOrDefault(x => x.Username == reviewModel.UserName);
                if (userId != null)
                {
                    review.UserId = userId.UserId;
                }

                if (wine.Reviews == null)
                {
                    wine.Reviews = new List <Review>();
                }
                wine.Reviews.Add(review);

                var rating = wine.Reviews.Average(x => x.Rating);
                wine.Rating = rating;

                session.SaveChanges();
            }

            var response = new HttpResponseMessage(HttpStatusCode.Created);

            return(response);
        }
        public HttpResponseMessage Put(ReviewSubmitModel reviewModel)
        {
            var response = new HttpResponseMessage(HttpStatusCode.NotFound);

            using (var session = ravenStore.OpenSession())
            {
                Winery winery = session.Load <Winery>(reviewModel.SubjectId);

                var review = winery.Reviews.FirstOrDefault(x => x.UserId == reviewModel.UserId);

                review.Rating = reviewModel.Rating;
                review.Text   = reviewModel.Text;

                var rating = winery.Reviews.Average(x => x.Rating);
                winery.Rating = rating;

                session.SaveChanges();

                response = new HttpResponseMessage(HttpStatusCode.OK);
            }

            return(response);
        }
Esempio n. 4
0
        public void WinePostReview()
        {
            ReviewSubmitModel testReview = new ReviewSubmitModel()
            {
                Rating   = 4,
                Text     = "This is a test review",
                UserId   = "1-A",
                UserName = "******"
            };

            var response = _wineController.Post(testReview);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);

            var wine = _wineController.Get("wines/1-A");

            var review = wine.Reviews.FirstOrDefault(x => x.UserId == "1-A");

            Assert.Equal(review.UserId, testReview.UserId);
            Assert.Equal(review.UserName, testReview.UserName);
            Assert.Equal(review.Rating, testReview.Rating);
            Assert.Equal(review.Text, testReview.Text);
        }
        public void WineryPostReview()
        {
            ReviewSubmitModel testReview = new ReviewSubmitModel()
            {
                SubjectId = "wineries/2c7b2ef5-ffb2-408c-b8a1-eb44553cd7d2",
                Rating    = 3,
                Text      = "This is a medium test review for me",
                UserId    = "4-A",
                UserName  = "******"
            };

            var response = _wineryController.Post(testReview);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);

            var winery = _wineryController.Get("wineries/2c7b2ef5-ffb2-408c-b8a1-eb44553cd7d2");

            var review = winery.Reviews.FirstOrDefault(x => x.UserId == "4-A");

            Assert.Equal(review.UserId, testReview.UserId);
            Assert.Equal(review.UserName, testReview.UserName);
            Assert.Equal(review.Rating, testReview.Rating);
            Assert.Equal(review.Text, testReview.Text);
        }