public virtual IActionResult List(NewsItemSearchModel searchModel) { //prepare model NewsItemListModel model = _newsModelFactory.PrepareNewsItemListModel(searchModel); return(Json(model)); }
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)); }
public virtual IActionResult List(NewsItemSearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedDataTablesJson()); } //prepare model var model = _newsModelFactory.PrepareNewsItemListModel(searchModel); return(Json(model)); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }