public virtual ActionResult List(DataSourceRequest command, ArticleReviewListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageArticleReviews))
            {
                return(AccessDeniedKendoGridJson());
            }

            //a contributor should have access only to his articles
            var contributorId = 0;

            if (_workContext.CurrentContributor != null)
            {
                contributorId = _workContext.CurrentContributor.Id;
            }

            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 articleReviews = _articleService.GetAllArticleReviews(0, approved,
                                                                      createdOnFromValue, createdToFromValue, model.SearchText,
                                                                      model.SearchStoreId, model.SearchArticleId, contributorId,
                                                                      command.Page - 1, command.PageSize);

            var gridModel = new DataSourceResult
            {
                Data = articleReviews.Select(x =>
                {
                    var m = new ArticleReviewModel();
                    PrepareArticleReviewModel(m, x, false, true);
                    return(m);
                }),
                Total = articleReviews.TotalCount
            };

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

            var model = new ArticleReviewListModel();

            //a contributor should have access only to his articles
            model.IsLoggedInAsContributor = _workContext.CurrentContributor != 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.ArticleReviews.List.SearchApproved.All"), Value = "0"
            });
            model.AvailableApprovedOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Catalog.ArticleReviews.List.SearchApproved.ApprovedOnly"), Value = "1"
            });
            model.AvailableApprovedOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Catalog.ArticleReviews.List.SearchApproved.DisapprovedOnly"), Value = "2"
            });

            return(View(model));
        }