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); }
public Task PrepareModelAsync(StoreEditModel model, User user) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (user == null) { throw new ArgumentNullException(nameof(user)); } model = _mapper.Map(user, model); model.StoreDeliveryRequiredOptions.AddRange(SelectListHelper.GetBoolSelectList("Required", "Not Required", selectedBool: model.StoreDeliveryRequired)); model.StoreStatusOptions.AddRange(SelectListHelper.GetEnumSelectList <StoreStatus>(selectedEnum: model.StoreStatus)); model.StoreThemeModeOptions.AddRange(SelectListHelper.GetEnumSelectList <ThemeMode>(selectedEnum: model.StoreThemeMode)); model.StoreThemeStyleOptions.AddRange(SelectListHelper.GetEnumSelectList <ThemeStyle>(selectedEnum: model.StoreThemeStyle)); model.StoreCategorySelections.AddRange(user.StoreCategory.ExpandEnum()); model.StoreCategoryOptions.AddRange(SelectListHelper.GetEnumSelectList <StoreCategory>(selectedEnum: user.StoreCategory)); return(Task.CompletedTask); }
public async Task PrepareModelAsync(UserListModel model, IPageable <User> users, Func <UserModel, User, Task> prepareChildModel = null) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (users == null) { throw new ArgumentNullException(nameof(users)); } foreach (var user in users) { var userModel = new UserModel { User = user }; if (prepareChildModel != null) { await prepareChildModel(userModel, user); } model.Items.Add(userModel); } model.StoreCategoryOptions.AddRange(SelectListHelper.GetEnumSelectList(selectedEnum: model.Filter.StoreCategory, defaultText: "All")); model.StoreSetupOptions.AddRange(SelectListHelper.GetBoolSelectList("Completed", "Not Completed", selectedBool: model.Filter.StoreSetup, defaultText: "Any")); model.Page = users.Page; model.PageSize = users.PageSize; model.PageFrom = users.PageFrom; model.PageTo = users.PageTo; model.TotalPages = users.TotalPages; model.TotalItems = users.TotalItems; }
public async Task PrepareModelAsync(ProductListModel model, IPageable <Product> products, User seller, User customer = null) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (products == null) { throw new ArgumentNullException(nameof(products)); } foreach (var product in products) { var productModel = new ProductModel(); await PrepareModelAsync(productModel, product); if (customer != null) { productModel.IsAddedToCart = await _cartService.GetQuery(new CartFilter { CustomerId = customer.Id, SellerId = seller.Id, ProductId = product.Id, Type = CartType.Cart }).AnyAsync(); productModel.IsAddedToWishlist = await _cartService.GetQuery(new CartFilter { CustomerId = customer.Id, SellerId = seller.Id, ProductId = product.Id, Type = CartType.Wishlist }).AnyAsync(); } // NOTE: "StoreController.cs" with the line number 299 for code changes. productModel.ReviewEvaluation = await _reviewService.EvaluateAsync(new ReviewFilter { Approved = true, SellerId = seller.Id, ProductId = product.Id }); model.Items.Add(productModel); } model.LowestMinPrice = 0; model.HighestMaxPrice = (int)Math.Min(_appSettings.CurrencyMaxValue, int.MaxValue); model.SortOptions.AddRange(SelectListHelper.GetEnumSelectList(selectedEnum: model.Filter.Sort, defaultText: "Any")); model.StockOptions.AddRange(SelectListHelper.GetEnumSelectList(selectedEnum: model.Filter.Stock, defaultText: "All")); model.PublishedOptions.AddRange(SelectListHelper.GetBoolSelectList("Published", "Unpublished", selectedBool: model.Filter.Published, defaultText: "All")); model.RatingOptions.AddRange(SelectListHelper.GetSelectList(Enumerable.Range(1, 4).Reverse(), (x) => new SelectListItem <int>(text: $"{"star".ToQuantity(x)} or more", value: x.ToString(), selected: x == model.Filter.Rating))); model.DiscountOptions.AddRange(SelectListHelper.GetSelectList(Enumerable.Range(1, 4).Select(x => x * 20).Reverse(), (x) => new SelectListItem <int>(text: $"{x}% or more", value: x.ToString(), selected: x == model.Filter.Discount))); var categories = await _categoryService.ListAsync(new CategoryFilter() { SellerId = seller.Id, Published = true }); model.CategoryOptions.AddRange(SelectListHelper.GetSelectList(categories, x => new SelectListItem <Category>(text: x.Name, value: x.Slug, x.Slug == model.Filter.Search), defaultText: "All")); model.Page = products.Page; model.PageSize = products.PageSize; model.PageFrom = products.PageFrom; model.PageTo = products.PageTo; model.TotalPages = products.TotalPages; model.TotalItems = products.TotalItems; }