// //GET: /Review/ public ActionResult Index() { var userid = (int)Membership.GetUser().ProviderUserKey; var user = _db.UserProfiles.Find(userid); var reviewCompletions = user.ReviewCompletions.Where(rc => rc.Status == "Current"); var todoNUmber = Roles.IsUserInRole(user.UserName, "SeniorReviewer") ? _db.Records.Count(r => r.DeleteRecord == false && r.PaperDocuments.Count(pd => pd.DeletePaperDocument == false) > 0 && r.AcceptanceStatus == "Accepted" && r.AcceptanceStatus_randomizer == "Pass TC1" && r.ReviewCompletions.Count(rc => rc.Status == "Current" && !rc.Reconciliation) == 0 ) : _db.Records.Count(r => r.ReviewCompletions.Count(rc => rc.Status == "Current" && rc.ComplesionDate != null) == 1 && r.ReviewCompletions.Count(rc => rc.Status == "Current" && !rc.Reconciliation) < (int)IICURas.Enums.ReviewComplesionThreshold.MinimumReviewedNum && r.ReviewCompletions.Count(rc => rc.Status == "Current" && !rc.Reconciliation && rc.UserID == userid) == 0 ); var reviewOverviewVm = new ReviewOverviewViewModel { isSenior = Roles.IsUserInRole("SeniorReviewer "), CompleteNumber = reviewCompletions.Count(rc => rc.Status == "Current" && !rc.Reconciliation && rc.ComplesionDate != null), OngoingNumber = reviewCompletions.Count(rc => rc.Status == "Current" && rc.ComplesionDate == null && !rc.Reconciliation), TodoNumber = todoNUmber, OngoingReview = reviewCompletions.Where(rc => rc.Status == "Current" && rc.ComplesionDate == null && !rc.Reconciliation).Select(rc => new OngoingReviewViewModel() { PublicationID = rc.RecordRecordID, ReviewCompletionID = rc.ReviewCompletionID, LastUpdatedTime = rc.LastUpdateTime, CompletedNumber = rc.PaperQualities.Count(pq => pq.Status == "Current" && pq.OptionOptionID != null), TotalNumber = rc.PaperQualities.Count(pq => pq.Status == "Current"), SpeciesNumber = rc.LinkRecordUserSpecies.Count(lrus => lrus.Status == "Current"), isSenior = Roles.IsUserInRole("SeniorReviewer "), }) }; return(View(reviewOverviewVm)); }
public ReviewOverviewViewModel GetReviewsForProduct(int id) { var product = this.Context.Products.Find(id); if (product.Reviews.Count == 0) { return(new ReviewOverviewViewModel { AverageUserRating = 0 }); } ReviewOverviewViewModel rovm = new ReviewOverviewViewModel { AverageUserRating = product.Rating, NumberOf1Star = product.Reviews.Count(r => r.Rating == 1), NumberOf2Stars = product.Reviews.Count(r => r.Rating == 2), NumberOf3Stars = product.Reviews.Count(r => r.Rating == 3), NumberOf4Stars = product.Reviews.Count(r => r.Rating == 4), NumberOf5Stars = product.Reviews.Count(r => r.Rating == 5), }; var reviews = product.Reviews.ToList(); foreach (var review in reviews) { SimpleReviewViewModel srvm = Mapper.Instance.Map <SimpleReviewViewModel>(review); srvm.ReviewerUsername = review.Reviewer.User.UserName; srvm.DaysAgoPublished = (int)(DateTime.Now - review.PublishDate).TotalDays; srvm.PublishDateString = review.PublishDate.ToString("yy-MMM-dd ddd", new CultureInfo("en-US")); srvm.ContentParagraphs = review.Content.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); if (review.Reviewer.User.ProfilePictureFileName != null) { srvm.ReviewerImageData = this.GetUserProfilePicture(review.Reviewer.User.ProfilePictureFileName, review.Reviewer.User.UserName); } rovm.Reviews.Add(srvm); } return(rovm); }
public ActionResult LoadProductReviews(int id) { ReviewOverviewViewModel rovm = this._service.GetReviewsForProduct(id); return(this.PartialView("_AllProductReviewPartial", rovm)); }