public Task PrepareModelAsync(ReviewListModel model, IPageable <Review> reviews) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (reviews == null) { throw new ArgumentNullException(nameof(reviews)); } foreach (var review in reviews) { var reviewModel = new ReviewModel { Review = review }; model.Items.Add(reviewModel); } model.ApprovedOptions.AddRange(SelectListHelper.GetBoolSelectList("Approved", "Rejected", selectedBool: model.Filter.Approved, defaultText: "All")); model.RatingOptions.AddRange(SelectListHelper.GetSelectList(Enumerable.Range(1, 5).Reverse(), (x) => new SelectListItem <int>(text: $"{"star".ToQuantity(x)}", value: x.ToString(), selected: x == model.Filter.Rating), defaultText: "All")); model.Page = reviews.Page; model.PageSize = reviews.PageSize; model.PageFrom = reviews.PageFrom; model.PageTo = reviews.PageTo; model.TotalPages = reviews.TotalPages; model.TotalItems = reviews.TotalItems; return(Task.CompletedTask); }
private void OnReviewSelected(ReviewListModel review) { _mediator.Send(new SelectedMessage <FilmWrapper> { Id = review.FilmId }); _mediator.Send(new SelectedMessage <ReviewDetailWrapper> { Id = review.Id }); }
public static ReviewEntity MapToEntity(ReviewListModel model, IEntityFactory entityFactory) { var entity = (entityFactory ??= new EntityFactory()).Create <ReviewEntity>(model.Id); entity.Id = model.Id; entity.Rating = model.Rating; entity.TextReview = model.TextReview; entity.FilmId = model.FilmId; return(entity); }
public async Task <IActionResult> Index(ReviewFilter filter, int page) { var seller = await HttpContext.GetMemberAsync(); filter.SellerId = seller.Id; var reviews = await _reviewService.GetQuery(filter).ToPageableAsync(page, _appSettings.PageDefaultSize); var model = new ReviewListModel { Filter = filter }; await _appService.PrepareModelAsync(model, reviews); return(View(model)); }
//[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")] public ActionResult _ReviewListPartial(string Id) { // TODO: Validate ID! CVGSAppEntities db = new CVGSAppEntities(); var model = new ReviewListModel(); model.GameId = Id; // add approved reviews for the game var reviews = db.GameReviews.Where(r => r.GameId == Id && r.Approved == true); var approvedReviews = new List <ReviewViewModel>(); var applicationUserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); foreach (var review in reviews) { approvedReviews.Add(new ReviewViewModel { Id = review.Id, ReviewerId = review.CreatedBy, Reviewer = applicationUserManager.FindById(review.CreatedBy).UserName, EditedOn = review.EditedOn, ReviewText = review.ReviewText }); } model.ApprovedReviews = approvedReviews.OrderBy(m => m.EditedOn).ToList(); // add unapproved reviews for the game left by the current user var userId = User.Identity.GetUserId(); var userName = User.Identity.GetUserName(); var unapprovedReviews = db.GameReviews .Where(r => r.GameId == Id && r.CreatedBy == userId && r.Approved == false) .Select(r => new ReviewViewModel { Id = r.Id, ReviewerId = r.Id, Reviewer = userName, ReviewText = r.ReviewText, EditedOn = r.EditedOn }) .ToList(); model.UnapprovedReviewsByUser = unapprovedReviews.OrderBy(r => r.EditedOn).ToList(); return(PartialView(model)); }
private void ReviewSelected(ReviewListModel review) => _mediator.Send(new SelectedMessage <ReviewDetailWrapper> { Id = review.Id });