public ActionResult Reviews()
        {
            var reviewsServiceProvider = new ReviewsServiceProvider();

            var getReviewsRequest = new GetReviewsRequest();

            GetReviewsResult getReviewsResult = reviewsServiceProvider.GetReviews(getReviewsRequest);

            if (!getReviewsResult.Success)
            {
                // todo: log here
            }

            // todo: investigate this
            //var model = getReviewsResult.Reviews
            //    .Select(review => new Review
            //                          {
            //                              Author = review.Author,
            //                              Score = review.Score,
            //                              Text = review.Text
            //                          })
            //    .ToList();

            return(this.View());
        }
        public ActionResult SubmitReview(Review review)
        {
            var reviewsServiceProvider = new ReviewsServiceProvider();

            var addReviewRequest = new AddReviewRequest(review.Text, DateTime.Now, review.Author, review.Score, review.ProductId);

            AddReviewResult addReviewResult = reviewsServiceProvider.AddReview(addReviewRequest);

            if (!addReviewResult.Success)
            {
                // todo: log here
            }

            this.Response.Redirect(new Uri(this.Request.UrlReferrer.ToString()).ToString());

            return(null);
        }
Beispiel #3
0
        public HttpResponseMessage GetReviewsByJobProvider([FromUri] Guid ServiceProviderId, [FromUri] int PageNumber)
        {
            try
            {
                if (ServiceProviderId == new Guid())
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "ServiceProvider Id is blank"), Configuration.Formatters.JsonFormatter));
                }
                var Customer = _CustomerService.GetCustomer(ServiceProviderId);
                if (Customer != null)
                {
                    if (Customer.IsActive)
                    {
                        if (Customer.CustomerType != EnumValue.GetEnumDescription(EnumValue.CustomerType.ServiceProvider))
                        {
                            return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "Provide service provider id."), Configuration.Formatters.JsonFormatter));
                        }
                        var jobs = _RequestService.GetRequests().Where(r => r.CustomerIdTo == ServiceProviderId).ToList();
                        if (jobs.Count() > 0)
                        {
                            List <ReviewsServiceProvider> obj = new List <ReviewsServiceProvider>();

                            foreach (var job in jobs)
                            {
                                var reviews = _ReviewAndRatingService.GetReviewAndRatings().Where(r => r.CustomerId == ServiceProviderId && r.JobRequestId == job.JobRequestId).FirstOrDefault();

                                if (reviews != null)
                                {
                                    Mapper.CreateMap <ReviewAndRating, ReviewsServiceProvider>();
                                    ReviewsServiceProvider reviewModel = Mapper.Map <ReviewAndRating, ReviewsServiceProvider>(reviews);

                                    var customerCommented   = _CustomerService.GetCustomer(reviews.CustomerId);
                                    var customerCommentedTo = _CustomerService.GetCustomer(job.CustomerIdBy);
                                    reviewModel.ReviewedToCustomerId   = customerCommentedTo.CustomerId;
                                    reviewModel.ReviewedToCustomerName = customerCommentedTo.FirstName + " " + customerCommentedTo.LastName;
                                    reviewModel.ReviewedToPhotoPath    = customerCommentedTo.PhotoPath;
                                    reviewModel.ReviewedByCustomerId   = reviews.CustomerId;
                                    reviewModel.ReviewedByCustomerName = customerCommented.FirstName + " " + customerCommented.LastName;
                                    reviewModel.ReviewedByPhotoPath    = customerCommented.PhotoPath;
                                    obj.Add(reviewModel);
                                }
                            }


                            int numberOfObjectsPerPage = 10;
                            var modelsdata             = obj.Skip(numberOfObjectsPerPage * PageNumber).Take(numberOfObjectsPerPage);
                            return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("success", modelsdata), Configuration.Formatters.JsonFormatter));
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "no job found."), Configuration.Formatters.JsonFormatter));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "User not found."), Configuration.Formatters.JsonFormatter));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "User not found."), Configuration.Formatters.JsonFormatter));
                }
            }
            catch (Exception ex)
            {
                string ErrorMsg = ex.Message.ToString();
                ErrorLogging.LogError(ex);
                return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "Try again later."), Configuration.Formatters.JsonFormatter));
            }
        }