コード例 #1
0
        public virtual IActionResult List(NewsItemSearchModel searchModel)
        {
            //prepare model
            NewsItemListModel model = _newsModelFactory.PrepareNewsItemListModel(searchModel);

            return(Json(model));
        }
コード例 #2
0
        public virtual async Task <IActionResult> List(NewsItemSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageNews))
            {
                return(await AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = await _newsModelFactory.PrepareNewsItemListModelAsync(searchModel);

            return(Json(model));
        }
コード例 #3
0
        public virtual IActionResult List(NewsItemSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews))
            {
                return(AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = _newsModelFactory.PrepareNewsItemListModel(searchModel);

            return(Json(model));
        }
コード例 #4
0
        /// <summary>
        /// Prepare paged news item list model
        /// </summary>
        /// <param name="searchModel">News item search model</param>
        /// <returns>News item list model</returns>
        public virtual NewsItemListModel PrepareNewsItemListModel(NewsItemSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get news items
            var newsItems = _newsService.GetAllNews(showHidden: true,
                                                    pageIndex: searchModel.Page - 1,
                                                    pageSize: searchModel.PageSize,
                                                    categoryId: searchModel.SearchCategoryId,
                                                    customerId: searchModel.SearchCustomerId,
                                                    createTo: searchModel.CreatedOnTo,
                                                    startTo: searchModel.StartDate,
                                                    endTo: searchModel.EndDate);

            //prepare list model
            NewsItemListModel model = new NewsItemListModel
            {
                Data = newsItems.Select(newsItem =>
                {
                    //fill in model values from the entity
                    NewsItemModel newsItemModel = newsItem.ToModel <NewsItemModel>();

                    //little performance optimization: ensure that "Full" is not returned
                    newsItemModel.Full = string.Empty;

                    //convert dates to the user time
                    if (newsItem.StartDateUtc.HasValue)
                    {
                        newsItemModel.StartDate = newsItem.StartDateUtc.Value;
                    }

                    if (newsItem.EndDateUtc.HasValue)
                    {
                        newsItemModel.EndDate = newsItem.EndDateUtc.Value;
                    }

                    newsItemModel.CreatedOn = newsItem.CreatedOnUtc;

                    //fill in additional values (not existing in the entity)
                    newsItemModel.ApprovedComments    = _newsService.GetNewsCommentsCount(newsItem, isApproved: true);
                    newsItemModel.NotApprovedComments = _newsService.GetNewsCommentsCount(newsItem, isApproved: false);

                    return(newsItemModel);
                }),
                Total = newsItems.TotalCount
            };

            return(model);
        }
コード例 #5
0
ファイル: NewsModelFactory.cs プロジェクト: roanbekker/zapper
        /// <summary>
        /// Prepare news item search model
        /// </summary>
        /// <param name="searchModel">News item search model</param>
        /// <returns>News item search model</returns>
        public virtual NewsItemSearchModel PrepareNewsItemSearchModel(NewsItemSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare available stores
            _baseAdminModelFactory.PrepareStores(searchModel.AvailableStores);

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
コード例 #6
0
        /// <summary>
        /// Prepare news item search model
        /// </summary>
        /// <param name="searchModel">News item search model</param>
        /// <returns>News item search model</returns>
        public virtual NewsItemSearchModel PrepareNewsItemSearchModel(NewsItemSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            _baseAdminModelFactory.PrepareCategories(searchModel.AvailableCategories, true, "Kategori Seçiniz");
            _baseAdminModelFactory.PrepareEditorList(searchModel.AvailableEditor, true, "Editör Seçebilirsiniz");

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
コード例 #7
0
ファイル: NewsModelFactory.cs プロジェクト: abcwarehouse/nop
        /// <summary>
        /// Prepare paged news item list model
        /// </summary>
        /// <param name="searchModel">News item search model</param>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the news item list model
        /// </returns>
        public virtual async Task <NewsItemListModel> PrepareNewsItemListModelAsync(NewsItemSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get news items
            var newsItems = await _newsService.GetAllNewsAsync(showHidden : true,
                                                               storeId : searchModel.SearchStoreId,
                                                               pageIndex : searchModel.Page - 1, pageSize : searchModel.PageSize,
                                                               title : searchModel.SearchTitle);

            //prepare list model
            var model = await new NewsItemListModel().PrepareToGridAsync(searchModel, newsItems, () =>
            {
                return(newsItems.SelectAwait(async newsItem =>
                {
                    //fill in model values from the entity
                    var newsItemModel = newsItem.ToModel <NewsItemModel>();

                    //little performance optimization: ensure that "Full" is not returned
                    newsItemModel.Full = string.Empty;

                    //convert dates to the user time
                    if (newsItem.StartDateUtc.HasValue)
                    {
                        newsItemModel.StartDateUtc = await _dateTimeHelper.ConvertToUserTimeAsync(newsItem.StartDateUtc.Value, DateTimeKind.Utc);
                    }
                    if (newsItem.EndDateUtc.HasValue)
                    {
                        newsItemModel.EndDateUtc = await _dateTimeHelper.ConvertToUserTimeAsync(newsItem.EndDateUtc.Value, DateTimeKind.Utc);
                    }
                    newsItemModel.CreatedOn = await _dateTimeHelper.ConvertToUserTimeAsync(newsItem.CreatedOnUtc, DateTimeKind.Utc);

                    //fill in additional values (not existing in the entity)
                    newsItemModel.SeName = await _urlRecordService.GetSeNameAsync(newsItem, newsItem.LanguageId, true, false);
                    newsItemModel.LanguageName = (await _languageService.GetLanguageByIdAsync(newsItem.LanguageId))?.Name;
                    newsItemModel.ApprovedComments = await _newsService.GetNewsCommentsCountAsync(newsItem, isApproved: true);
                    newsItemModel.NotApprovedComments = await _newsService.GetNewsCommentsCountAsync(newsItem, isApproved: false);

                    return newsItemModel;
                }));
            });

            return(model);
        }
コード例 #8
0
        /// <summary>
        /// Prepare news item search model
        /// </summary>
        /// <param name="searchModel">News item search model</param>
        /// <returns>News item search model</returns>
        public virtual NewsItemSearchModel PrepareNewsItemSearchModel(NewsItemSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare available stores
            _baseAdminModelFactory.PrepareStores(searchModel.AvailableStores);

            searchModel.HideStoresList = _catalogSettings.IgnoreStoreLimitations || searchModel.AvailableStores.SelectionIsNotPossible();

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
コード例 #9
0
ファイル: NewsModelFactory.cs プロジェクト: roanbekker/zapper
        /// <summary>
        /// Prepare paged news item list model
        /// </summary>
        /// <param name="searchModel">News item search model</param>
        /// <returns>News item list model</returns>
        public virtual NewsItemListModel PrepareNewsItemListModel(NewsItemSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get news items
            var newsItems = _newsService.GetAllNews(showHidden: true,
                                                    storeId: searchModel.SearchStoreId,
                                                    pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            var model = new NewsItemListModel
            {
                Data = newsItems.Select(newsItem =>
                {
                    //fill in model values from the entity
                    var newsItemModel = newsItem.ToModel();

                    //little performance optimization: ensure that "Full" is not returned
                    newsItemModel.Full = string.Empty;

                    //convert dates to the user time
                    if (newsItem.StartDateUtc.HasValue)
                    {
                        newsItemModel.StartDate = _dateTimeHelper.ConvertToUserTime(newsItem.StartDateUtc.Value, DateTimeKind.Utc);
                    }
                    if (newsItem.EndDateUtc.HasValue)
                    {
                        newsItemModel.EndDate = _dateTimeHelper.ConvertToUserTime(newsItem.EndDateUtc.Value, DateTimeKind.Utc);
                    }
                    newsItemModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(newsItem.CreatedOnUtc, DateTimeKind.Utc);

                    //fill in additional values (not existing in the entity)
                    newsItemModel.LanguageName        = _languageService.GetLanguageById(newsItem.LanguageId)?.Name;
                    newsItemModel.ApprovedComments    = _newsService.GetNewsCommentsCount(newsItem, isApproved: true);
                    newsItemModel.NotApprovedComments = _newsService.GetNewsCommentsCount(newsItem, isApproved: false);

                    return(newsItemModel);
                }),
                Total = newsItems.TotalCount
            };

            return(model);
        }