Ejemplo n.º 1
0
        public virtual ActionResult List(DataSourceRequest command, ContributorListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageContributors))
            {
                return(AccessDeniedKendoGridJson());
            }

            var contributors = _contributorService.GetAllContributors(model.SearchName, command.Page - 1, command.PageSize, true);
            var gridModel    = new DataSourceResult
            {
                Data = contributors.Select(x =>
                {
                    var contributorModel = x.ToModel();
                    PrepareContributorModel(contributorModel, x, false, false);
                    return(contributorModel);
                }),
                Total = contributors.TotalCount,
            };

            return(Json(gridModel));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get contributor list
        /// </summary>
        /// <param name="contributorService">Contributor service</param>
        /// <param name="cacheManager">Cache manager</param>
        /// <param name="showHidden">A value indicating whether to show hidden records</param>
        /// <returns>Contributor list</returns>
        public static List <SelectListItem> GetContributorList(IContributorService contributorService, ICacheManager cacheManager, bool showHidden = false)
        {
            if (contributorService == null)
            {
                throw new ArgumentNullException("contributorService");
            }

            if (cacheManager == null)
            {
                throw new ArgumentNullException("cacheManager");
            }

            string cacheKey  = string.Format(ModelCacheEventConsumer.CONTRIBUTORS_LIST_KEY, showHidden);
            var    listItems = cacheManager.Get(cacheKey, () =>
            {
                var contributors = contributorService.GetAllContributors(showHidden: showHidden);
                return(contributors.Select(v => new SelectListItem
                {
                    Text = v.Name,
                    Value = v.Id.ToString()
                }));
            });

            var result = new List <SelectListItem>();

            //clone the list to ensure that "selected" property is not set
            foreach (var item in listItems)
            {
                result.Add(new SelectListItem
                {
                    Text  = item.Text,
                    Value = item.Value
                });
            }

            return(result);
        }