Beispiel #1
0
        /// <summary>
        /// 商品评价列表
        /// </summary>
        public ActionResult ProductReviewList(string productName, string message, string rateStartTime, string rateEndTime, string sortColumn, string sortDirection, int pid = -1, int pageNumber = 1, int pageSize = 15)
        {
            string condition = AdminProductReviews.AdminGetProductReviewListCondition(pid, message, rateStartTime, rateEndTime);
            string sort      = AdminProductReviews.AdminGetProductReviewListSort(sortColumn, sortDirection);

            PageModel pageModel = new PageModel(pageSize, pageNumber, AdminProductReviews.AdminGetProductReviewCount(condition));

            ProductReviewListModel model = new ProductReviewListModel()
            {
                PageModel         = pageModel,
                SortColumn        = sortColumn,
                SortDirection     = sortDirection,
                ProductReviewList = AdminProductReviews.AdminGetProductReviewList(pageModel.PageSize, pageModel.PageNumber, condition, sort),
                Pid         = pid,
                ProductName = pid > 0 ? productName : "选择商品",
                Message     = message,
                StartTime   = rateStartTime,
                EndTime     = rateEndTime
            };

            ShopUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&sortColumn={3}&sortDirection={4}&message={5}&pid={6}&productName={7}&startTime={8}&endTime={9}",
                                                          Url.Action("productreviewlist"),
                                                          pageModel.PageNumber, pageModel.PageSize,
                                                          sortColumn, sortDirection,
                                                          message,
                                                          pid, productName,
                                                          rateStartTime, rateEndTime));
            return(View(model));
        }
Beispiel #2
0
        public ActionResult List(int?productId) //NOP 3.822 - int? productId
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageProductReviews))
            {
                return(AccessDeniedView());
            }

            var model = new ProductReviewListModel();

            model.AvailableStores.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = "0"
            });
            var stores = _storeService.GetAllStores().Select(st => new SelectListItem()
            {
                Text = st.Name, Value = st.Id.ToString()
            });

            foreach (var selectListItem in stores)
            {
                model.AvailableStores.Add(selectListItem);
            }

            ViewBag.ProductId = productId; //NOP 3.822
            return(View(model));
        }
Beispiel #3
0
        public ActionResult List(GridCommand command, ProductReviewListModel model)
        {
            DateTime?createdFrom = (model.CreatedOnFrom == null) ? null
                : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

            DateTime?createdTo = (model.CreatedOnTo == null) ? null
                : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);

            var productReviews = _customerContentService.GetAllCustomerContent <ProductReview>(
                0,
                null,
                createdFrom,
                createdTo,
                command.Page - 1,
                command.PageSize);

            var gridModel = new GridModel <ProductReviewModel>
            {
                Total = productReviews.TotalCount
            };

            gridModel.Data = productReviews.Select(x =>
            {
                var m = new ProductReviewModel();
                PrepareProductReviewModel(m, x, false, true);
                return(m);
            });

            return(new JsonResult
            {
                Data = gridModel
            });
        }
        public ActionResult List(GridCommand command, ProductReviewListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
            {
                return(AccessDeniedView());
            }

            DateTime?createdOnFromValue = (model.CreatedOnFrom == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

            DateTime?createdToFromValue = (model.CreatedOnTo == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);

            var productReviews = _customerContentService.GetAllCustomerContent <ProductReview>(0, null,
                                                                                               createdOnFromValue, createdToFromValue);
            var gridModel = new GridModel <ProductReviewModel>
            {
                Data = productReviews.PagedForCommand(command).Select(x =>
                {
                    var m = new ProductReviewModel();
                    PrepareProductReviewModel(m, x, false, true);
                    return(m);
                }),
                Total = productReviews.Count,
            };

            return(new JsonResult
            {
                Data = gridModel
            });
        }
        /// <summary>
        /// 商品评价列表
        /// </summary>
        public ActionResult ProductReviewList(string storeName, string message, string rateStartTime, string rateEndTime, string sortColumn, string sortDirection, int storeId = -1, int pid = 0, int pageNumber = 1, int pageSize = 15)
        {
            string condition = AdminProductReviews.AdminGetProductReviewListCondition(storeId, pid, message, rateStartTime, rateEndTime);
            string sort      = AdminProductReviews.AdminGetProductReviewListSort(sortColumn, sortDirection);

            PageModel pageModel          = new PageModel(pageSize, pageNumber, AdminProductReviews.AdminGetProductReviewCount(condition));
            ProductReviewListModel model = new ProductReviewListModel()
            {
                PageModel         = pageModel,
                SortColumn        = sortColumn,
                SortDirection     = sortDirection,
                ProductReviewList = AdminProductReviews.AdminGetProductReviewList(pageModel.PageSize, pageModel.PageNumber, condition, sort),
                StoreId           = storeId,
                StoreName         = string.IsNullOrWhiteSpace(storeName) ? "全部店铺" : storeName,
                Pid       = pid,
                Message   = message,
                StartTime = rateStartTime,
                EndTime   = rateEndTime
            };

            MallUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&sortColumn={3}&sortDirection={4}&storeId={5}&storeName={6}&pid={7}&message={8}&startTime={9}&endTime={10}",
                                                          Url.Action("productreviewlist"),
                                                          pageModel.PageNumber, pageModel.PageSize,
                                                          sortColumn, sortDirection,
                                                          storeId, storeName, pid,
                                                          message, rateStartTime, rateEndTime));
            return(View(model));
        }
Beispiel #6
0
        public ActionResult List(DataSourceRequest command, ProductReviewListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageProductReviews))
            {
                return(AccessDeniedView());
            }

            DateTime?createdOnFromValue = (model.CreatedOnFrom == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

            DateTime?createdToFromValue = (model.CreatedOnTo == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);

            bool?approved = null;

            if (model.SearchApprovedId > 0)
            {
                approved = model.SearchApprovedId == 1;
            }

            var productReviews = _productService.GetAllProductReviews(0, approved,
                                                                      createdOnFromValue, createdToFromValue, model.SearchText, model.SearchStoreId, model.SearchProductId, command.Page - 1, command.PageSize);
            var gridModel = new DataSourceResult
            {
                Data = productReviews.Select(x =>
                {
                    var m = new ProductReviewModel();
                    PrepareProductReviewModel(m, x, false, true);
                    return(m);
                }),
                Total = productReviews.TotalCount
            };

            return(Json(gridModel));
        }
        /// <summary>
        /// 商品评价列表
        /// </summary>
        public ActionResult ProductReviewList()
        {
            int pid        = WebHelper.GetQueryInt("pid");
            int reviewType = WebHelper.GetQueryInt("reviewType");
            int page       = WebHelper.GetQueryInt("page");

            //判断商品是否存在
            PartProductInfo productInfo = Products.GetPartProductById(pid);

            if (productInfo == null)
            {
                return(PromptView("/", "你访问的商品不存在"));
            }

            if (reviewType < 0 || reviewType > 3)
            {
                reviewType = 0;
            }

            PageModel pageModel          = new PageModel(10, page, ProductReviews.GetProductReviewCount(pid, reviewType));
            ProductReviewListModel model = new ProductReviewListModel()
            {
                ProductInfo       = productInfo,
                CategoryInfo      = Categories.GetCategoryById(productInfo.CateId),
                BrandInfo         = Brands.GetBrandById(productInfo.BrandId),
                ReviewType        = reviewType,
                PageModel         = pageModel,
                ProductReviewList = ProductReviews.GetProductReviewList(pid, reviewType, pageModel.PageSize, pageModel.PageNumber)
            };

            return(View(model));
        }
Beispiel #8
0
        /// <summary>
        /// 商品评价列表
        /// </summary>
        public ActionResult ProductReviewList()
        {
            int pid        = WebHelper.GetQueryInt("pid");
            int reviewType = WebHelper.GetQueryInt("reviewType");
            int page       = WebHelper.GetQueryInt("page");

            //判断商品是否存在
            PartProductInfo productInfo = Products.GetPartProductById(pid);

            if (productInfo == null)
            {
                return(PromptView(Url.Action("index", "home"), "你访问的商品不存在"));
            }

            if (reviewType < 0 || reviewType > 3)
            {
                reviewType = 0;
            }

            PageModel pageModel          = new PageModel(10, page, ProductReviews.GetProductReviewCount(pid, reviewType));
            ProductReviewListModel model = new ProductReviewListModel()
            {
                ProductInfo       = productInfo,
                ReviewType        = reviewType,
                PageModel         = pageModel,
                ProductReviewList = ProductReviews.GetProductReviewList(pid, reviewType, pageModel.PageSize, pageModel.PageNumber)
            };

            return(View(model));
        }
Beispiel #9
0
        public IActionResult List(DataSourceRequest command, ProductReviewListModel model)
        {
            var productReviews = _productReviewViewModelService.PrepareProductReviewsModel(model, command.Page, command.PageSize);
            var gridModel      = new DataSourceResult
            {
                Data  = productReviews.productReviewModels.ToList(),
                Total = productReviews.totalCount,
            };

            return(Json(gridModel));
        }
        public ActionResult List()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
            {
                return(AccessDeniedView());
            }

            var model = new ProductReviewListModel();

            return(View(model));
        }
        public async Task <IActionResult> List(DataSourceRequest command, ProductReviewListModel model)
        {
            var(productReviewModels, totalCount) = await _productReviewViewModelService.PrepareProductReviewsModel(model, command.Page, command.PageSize);

            var gridModel = new DataSourceResult
            {
                Data  = productReviewModels.ToList(),
                Total = totalCount,
            };

            return(Json(gridModel));
        }
Beispiel #12
0
        /// <summary>
        /// Prepare paged product review list model
        /// </summary>
        /// <param name="searchModel">Product review search model</param>
        /// <returns>Product review list model</returns>
        public virtual ProductReviewListModel PrepareProductReviewListModel(ProductReviewSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter reviews
            var createdOnFromValue = !searchModel.CreatedOnFrom.HasValue ? null
                : (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);
            var createdToFromValue = !searchModel.CreatedOnTo.HasValue ? null
                : (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);
            var isApprovedOnly = searchModel.SearchApprovedId == 0 ? null : searchModel.SearchApprovedId == 1 ? true : (bool?)false;
            var vendorId       = _workContext.CurrentVendor?.Id ?? 0;

            //get product reviews
            var productReviews = _productService.GetAllProductReviews(showHidden: true,
                                                                      customerId: 0,
                                                                      approved: isApprovedOnly,
                                                                      fromUtc: createdOnFromValue,
                                                                      toUtc: createdToFromValue,
                                                                      message: searchModel.SearchText,
                                                                      storeId: searchModel.SearchStoreId,
                                                                      productId: searchModel.SearchProductId,
                                                                      vendorId: vendorId,
                                                                      pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            var model = new ProductReviewListModel
            {
                Data = productReviews.Select(productReview =>
                {
                    //fill in model values from the entity
                    var productReviewModel = productReview.ToModel <ProductReviewModel>();

                    //convert dates to the user time
                    productReviewModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(productReview.CreatedOnUtc, DateTimeKind.Utc);

                    //fill in additional values (not existing in the entity)
                    productReviewModel.StoreName    = productReview.Store.Name;
                    productReviewModel.ProductName  = productReview.Product.Name;
                    productReviewModel.CustomerInfo = productReview.Customer.IsRegistered()
                        ? productReview.Customer.Email : _localizationService.GetResource("Admin.Customers.Guest");
                    productReviewModel.ReviewText = HtmlHelper.FormatText(productReview.ReviewText, false, true, false, false, false, false);
                    productReviewModel.ReplyText  = HtmlHelper.FormatText(productReview.ReplyText, false, true, false, false, false, false);

                    return(productReviewModel);
                }),
                Total = productReviews.TotalCount
            };

            return(model);
        }
Beispiel #13
0
        public ActionResult ReviewsAll(int productId, int pageIndex = 0, int pageSize = 20)
        {
            var reviews = _reviewService.GetAllProductReviews(productId: productId, pageIndex: 0, pageSize: 20);

            var model = new ProductReviewListModel();

            model.Total     = reviews.TotalCount;
            model.PageIndex = 0;
            model.PageSize  = 20;
            model.ProductId = productId;
            model.Reviews   = reviews.Items.MapTo <List <ProductReviewModel> >();
            return(Json(model));
        }
Beispiel #14
0
        public ActionResult ProductReview(int productId)
        {
            var reviews = _reviewService.GetAllProductReviews(productId: productId, pageIndex: 0, pageSize: 5);

            var model = new ProductReviewListModel();

            model.Total     = reviews.TotalCount;
            model.PageIndex = 0;
            model.PageSize  = 5;
            model.ProductId = productId;
            model.Reviews   = reviews.Items.MapTo <List <ProductReviewModel> >();
            return(PartialView(model));
        }
        public async Task<IActionResult> List(DataSourceRequest command, ProductReviewListModel model)
        {
            //limit for store manager
            if (_workContext.CurrentCustomer.IsStaff())
                model.SearchStoreId = _workContext.CurrentCustomer.StaffStoreId;

            var (productReviewModels, totalCount) = await _productReviewViewModelService.PrepareProductReviewsModel(model, command.Page, command.PageSize);
            var gridModel = new DataSourceResult {
                Data = productReviewModels.ToList(),
                Total = totalCount,
            };

            return Json(gridModel);
        }
        /// <summary>
        /// 商品评价列表
        /// </summary>
        public ActionResult ProductReviewList(string productName, string message, string rateStartTime, string rateEndTime, string sortColumn, string sortDirection, int pid = -1, int pageNumber = 1, int pageSize = 15)
        {
            if (!SecureHelper.IsSafeSqlString(message))
            {
                message = "";
            }
            if (!SecureHelper.IsSafeSqlString(rateStartTime))
            {
                rateStartTime = "";
            }
            if (!SecureHelper.IsSafeSqlString(rateEndTime))
            {
                rateEndTime = "";
            }
            if (!SecureHelper.IsSafeSqlString(sortColumn))
            {
                sortColumn = "";
            }
            if (!SecureHelper.IsSafeSqlString(sortDirection))
            {
                sortDirection = "";
            }

            string condition = AdminProductReviews.AdminGetProductReviewListCondition(WorkContext.StoreId, pid, message, rateStartTime, rateEndTime);
            string sort      = AdminProductReviews.AdminGetProductReviewListSort(sortColumn, sortDirection);

            PageModel pageModel          = new PageModel(pageSize, pageNumber, AdminProductReviews.AdminGetProductReviewCount(condition));
            ProductReviewListModel model = new ProductReviewListModel()
            {
                PageModel         = pageModel,
                SortColumn        = sortColumn,
                SortDirection     = sortDirection,
                ProductReviewList = AdminProductReviews.AdminGetProductReviewList(pageModel.PageSize, pageModel.PageNumber, condition, sort),
                Pid         = pid,
                ProductName = string.IsNullOrWhiteSpace(productName) ? "选择商品" : productName,
                Message     = message,
                StartTime   = rateStartTime,
                EndTime     = rateEndTime
            };

            MallUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&sortColumn={3}&sortDirection={4}&message={5}&pid={6}&productName={7}&startTime={8}&endTime={9}",
                                                          Url.Action("productreviewlist"),
                                                          pageModel.PageNumber, pageModel.PageSize,
                                                          sortColumn, sortDirection,
                                                          message,
                                                          pid, productName,
                                                          rateStartTime, rateEndTime));
            return(View(model));
        }
Beispiel #17
0
        public virtual ActionResult List()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageProductReviews))
            {
                return(AccessDeniedView());
            }

            var model = new ProductReviewListModel();

            //a vendor should have access only to his products
            model.IsLoggedInAsVendor = _workContext.CurrentVendor != null;

            #region Extensions by QuanNH
            //stores
            var AllStores = _storeService.GetAllStoresByEntityName(_workContext.CurrentCustomer.Id, "Stores");
            if (AllStores.Count <= 0)
            {
                AllStores = _storeService.GetAllStores();
                model.AvailableStores.Add(new SelectListItem {
                    Text = _localizationService.GetResource("Admin.Common.All"), Value = "0"
                });
            }
            foreach (var s in AllStores)
            {
                model.AvailableStores.Add(new SelectListItem {
                    Text = s.Name, Value = s.Id.ToString()
                });
            }

            #endregion

            //"approved" property
            //0 - all
            //1 - approved only
            //2 - disapproved only
            model.AvailableApprovedOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Catalog.ProductReviews.List.SearchApproved.All"), Value = "0"
            });
            model.AvailableApprovedOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Catalog.ProductReviews.List.SearchApproved.ApprovedOnly"), Value = "1"
            });
            model.AvailableApprovedOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Catalog.ProductReviews.List.SearchApproved.DisapprovedOnly"), Value = "2"
            });

            return(View(model));
        }
Beispiel #18
0
        public static ProductReviewListModel ToModel(this ProductReview ProductReview, IPictureService _pictureService)
        {
            var model = new ProductReviewListModel()
            {
                CustomerId      = ProductReview.CustomerId,
                ProductId       = ProductReview.ProductId,
                ProductName     = ProductReview.Product.Name,
                Rating          = ProductReview.Rating,
                ReviewText      = ProductReview.ReviewText,
                ProductSeName   = ProductReview.Product.GetSeName(),
                ProductImageUrl = _pictureService.GetPictureUrl(ProductReview.Product.ProductPictures.FirstOrDefault().Picture),
                Title           = ProductReview.Title,
                CreatedOnUtc    = ProductReview.CreatedOnUtc
            };

            return(model);
        }
Beispiel #19
0
        public ActionResult MyReviews(int pageIndex = 0, int pageSize = int.MaxValue)
        {
            var key     = string.Format(PRODUCTREVIEW_BY_CUSTOMERID, this.CustomerId);
            var reviews = _cacheManager.GetCache(key).Get(key, () =>
            {
                return(_reviewService.GetAllProductReviews(customerId: this.CustomerId));
            });

            var model = new ProductReviewListModel();

            model.PageIndex = pageIndex;
            model.PageSize  = pageSize;
            var reviewList = reviews.Items.Skip(pageIndex).Take(pageSize).ToList();

            model.Reviews = reviewList.MapTo <List <ProductReviewModel> >();
            return(Json(model));
        }
        public virtual async Task <ProductReviewListModel> PrepareProductReviewListModel(string storeId)
        {
            var model = new ProductReviewListModel();

            model.AvailableStores.Add(new SelectListItem {
                Text = _translationService.GetResource("Admin.Common.All"), Value = ""
            });
            var stores = (await _storeService.GetAllStores()).Where(x => x.Id == storeId || string.IsNullOrWhiteSpace(storeId)).Select(st => new SelectListItem()
            {
                Text = st.Shortcut, Value = st.Id.ToString()
            });

            foreach (var selectListItem in stores)
            {
                model.AvailableStores.Add(selectListItem);
            }
            return(model);
        }
Beispiel #21
0
        public virtual async Task <ProductReviewListModel> PrepareProductReviewListModel()
        {
            var model = new ProductReviewListModel();

            model.AvailableStores.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = ""
            });
            var stores = (await _storeService.GetAllStores()).Select(st => new SelectListItem()
            {
                Text = st.Name, Value = st.Id.ToString()
            });

            foreach (var selectListItem in stores)
            {
                model.AvailableStores.Add(selectListItem);
            }
            return(model);
        }
Beispiel #22
0
        /// <summary>
        /// 商品评价列表
        /// </summary>
        public ActionResult ProductReviewList()
        {
            int pid        = WebHelper.GetQueryInt("pid");
            int reviewType = WebHelper.GetQueryInt("reviewType");
            int page       = WebHelper.GetQueryInt("page");

            //判断商品是否存在
            PartProductInfo productInfo = Products.GetPartProductById(pid);

            if (productInfo == null)
            {
                return(PromptView("/", "你访问的商品不存在"));
            }

            //店铺信息
            StoreInfo storeInfo = Stores.GetStoreById(productInfo.StoreId);

            if (storeInfo.State != (int)StoreState.Open)
            {
                return(PromptView("/", "你访问的商品不存在"));
            }

            if (reviewType < 0 || reviewType > 3)
            {
                reviewType = 0;
            }

            PageModel pageModel          = new PageModel(10, page, ProductReviews.GetProductReviewCount(pid, reviewType));
            ProductReviewListModel model = new ProductReviewListModel()
            {
                ProductInfo       = productInfo,
                CategoryInfo      = Categories.GetCategoryById(productInfo.CateId),
                BrandInfo         = Brands.GetBrandById(productInfo.BrandId),
                StoreInfo         = storeInfo,
                StoreKeeperInfo   = Stores.GetStoreKeeperById(storeInfo.StoreId),
                StoreRegion       = Regions.GetRegionById(storeInfo.RegionId),
                StoreRankInfo     = StoreRanks.GetStoreRankById(storeInfo.StoreRid),
                ReviewType        = reviewType,
                PageModel         = pageModel,
                ProductReviewList = ProductReviews.GetProductReviewList(pid, reviewType, pageModel.PageSize, pageModel.PageNumber)
            };

            return(View(model));
        }
Beispiel #23
0
        public virtual IActionResult List()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageProductReviews))
            {
                return(AccessDeniedView());
            }

            var model = new ProductReviewListModel
            {
                //a vendor should have access only to his products
                IsLoggedInAsVendor = _workContext.CurrentVendor != null
            };

            model.AvailableStores.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = "0"
            });
            var stores = _storeService.GetAllStores().Select(st => new SelectListItem()
            {
                Text = st.Name, Value = st.Id.ToString()
            });

            foreach (var selectListItem in stores)
            {
                model.AvailableStores.Add(selectListItem);
            }

            //"approved" property
            //0 - all
            //1 - approved only
            //2 - disapproved only
            model.AvailableApprovedOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Catalog.ProductReviews.List.SearchApproved.All"), Value = "0"
            });
            model.AvailableApprovedOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Catalog.ProductReviews.List.SearchApproved.ApprovedOnly"), Value = "1"
            });
            model.AvailableApprovedOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Catalog.ProductReviews.List.SearchApproved.DisapprovedOnly"), Value = "2"
            });

            return(View(model));
        }
        /// <summary>
        /// 商品评价列表
        /// </summary>
        public ActionResult ProductReviewList(string productName, string message, string rateStartTime, string rateEndTime, int pid = -1, int pageNumber = 1, int pageSize = 15)
        {
            string condition = AdminProductReviews.AdminGetProductReviewListCondition(WorkContext.StoreId, pid, message, rateStartTime, rateEndTime);

            PageModel pageModel          = new PageModel(pageSize, pageNumber, AdminProductReviews.AdminGetProductReviewCount(condition));
            ProductReviewListModel model = new ProductReviewListModel()
            {
                PageModel         = pageModel,
                ProductReviewList = AdminProductReviews.AdminGetProductReviewList(pageModel.PageSize, pageModel.PageNumber, condition),
                Pid         = pid,
                ProductName = string.IsNullOrWhiteSpace(productName) ? "选择商品" : productName,
                Message     = message,
                StartTime   = rateStartTime,
                EndTime     = rateEndTime
            };

            MallUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&message={3}&pid={4}&productName={5}&startTime={6}&endTime={7}",
                                                          Url.Action("productreviewlist"),
                                                          pageModel.PageNumber, pageModel.PageSize,
                                                          message,
                                                          pid, productName,
                                                          rateStartTime, rateEndTime));
            return(View(model));
        }
        public virtual (IEnumerable <ProductReviewModel> productReviewModels, int totalCount) PrepareProductReviewsModel(ProductReviewListModel model, int pageIndex, int pageSize)
        {
            DateTime?createdOnFromValue = (model.CreatedOnFrom == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

            DateTime?createdToFromValue = (model.CreatedOnTo == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);

            var productReviews = _productService.GetAllProductReviews("", null,
                                                                      createdOnFromValue, createdToFromValue, model.SearchText, model.SearchStoreId, model.SearchProductId);

            return(productReviews.PagedForCommand(pageIndex, pageSize).Select(x =>
            {
                var m = new ProductReviewModel();
                PrepareProductReviewModel(m, x, false, true);
                return m;
            }), productReviews.Count);
        }
Beispiel #26
0
        public virtual async Task <(IEnumerable <ProductReviewModel> productReviewModels, int totalCount)> PrepareProductReviewsModel(ProductReviewListModel model, int pageIndex, int pageSize)
        {
            DateTime?createdOnFromValue = (model.CreatedOnFrom == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

            DateTime?createdToFromValue = (model.CreatedOnTo == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);

            var productReviews = await _productService.GetAllProductReviews("", null,
                                                                            createdOnFromValue, createdToFromValue, model.SearchText, model.SearchStoreId, model.SearchProductId);

            var items = new List <ProductReviewModel>();

            foreach (var x in productReviews.PagedForCommand(pageIndex, pageSize))
            {
                var m = new ProductReviewModel();
                await PrepareProductReviewModel(m, x, false, true);

                items.Add(m);
            }
            return(items, productReviews.Count);
        }
Beispiel #27
0
        public ActionResult List()
        {
            var model = new ProductReviewListModel();

            return(View(model));
        }