public NewsWithPagingSpecification(NewsParams queryParams) : base(x => ( string.IsNullOrEmpty(queryParams.Search) || x.Header.ToLower().Contains(queryParams.Search) || x.Content.ToLower().Contains(queryParams.Search) || x.ContentType.ToLower().Contains(queryParams.Search) || x.User.FirstName.ToLower().Contains(queryParams.Search) || x.User.LastName.ToLower().Contains(queryParams.Search) ) && (!queryParams.ScreenId.HasValue || x.NewsSubScreens.Any(y => y.ScreenId == queryParams.ScreenId)) && (!queryParams.SubScreenId.HasValue || x.NewsSubScreens.Any(y => y.SubScreenId == queryParams.SubScreenId)) && (!queryParams.Reject.HasValue || x.Reject == queryParams.Reject) && (!queryParams.IsNew.HasValue || x.IsNew == queryParams.IsNew) && (!queryParams.IsPublish.HasValue || x.IsPublish == queryParams.IsPublish) ) { AddInclude(x => x.NewsPhotos); AddInclude(x => x.NewsSubScreens); AddInclude(x => x.User); AddInclude(x => x.User.Campus); AddInclude(x => x.User.Degree); AddInclude(x => x.User.Department); AddOrderByDscending(x => x.IsNew); ApplyPaging(queryParams.PageSize * (queryParams.PageIndex - 1), queryParams.PageSize); }
public NewsByUserIdSpecification(NewsParams queryParams, int userId) : base(x => x.UserId == userId) { AddInclude(x => x.User); AddInclude(x => x.NewsPhotos); AddOrderByDscending(x => x.Created); ApplyPaging(queryParams.PageSize * (queryParams.PageIndex - 1), queryParams.PageSize); }
public async Task <PagedList <News> > GetByNameForPublic(NewsParams newsParams) { { var items = context.News.Where(x => x.Name.Contains(newsParams.searchQuery) || string.IsNullOrEmpty(newsParams.searchQuery)); items = items.Where(x => x.AuthorId == newsParams.AuthorId); return(await PagedList <News> .CreateAsync(items, newsParams.PageNumber, newsParams.pageSize)); } }
public async Task QueryWithCorrectParametersForName() { var actual = new NewsParams { searchQuery = ValidNewsName, AuthorId = 1, PageNumber = 12, PageSize = 10 }; await _newsService.GetByName(actual); await _newsRepository.Received(1).GetByName(Arg.Is <NewsParams>(p => p.PageNumber == actual.PageNumber && p.PageNumber == actual.PageNumber && p.searchQuery == actual.searchQuery)); }
public async Task <PagedList <News> > GetByName(NewsParams newsParams) { var items = context.News .Where(x => x.Name.Contains(newsParams.searchQuery) || string.IsNullOrEmpty(newsParams.searchQuery)); items = items.Where(x => !x.IsDeleted); if (false && newsParams.AuthorId.HasValue) { items = items.Where(x => x.AuthorId == newsParams.AuthorId); } return(await PagedList <News> .CreateAsync(items, newsParams.PageNumber, newsParams.pageSize)); }
public async Task <IActionResult> GetByName([FromQuery] NewsParams newsParams) { var authorId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? string.Empty; if (!string.IsNullOrEmpty(authorId)) { newsParams.AuthorId = int.Parse(authorId); } var news = await _newsService.GetByName(newsParams); var newsToReturn = _mapper.Map <IEnumerable <News> >(news); Response.AddPagination(news.CurrentPage, news.PageSize, news.TotalCount, news.TotalPages); return(Ok(newsToReturn)); }
public ActionResult PublishHtml(string itemID, string toUserName, string genHtml) { var mdb = Sitecore.Configuration.Factory.GetDatabase("master"); var mItem = mdb.GetItem(new Sitecore.Data.ID(itemID)); if (mItem == null) { return(Content("Item is not existing!")); } WCArticles articles = new WCArticles(); NewsParams newsParams = new NewsParams(); newsParams.show_cover_pic = 1; newsParams.need_open_comment = 1; newsParams.only_fans_can_comment = 1; newsParams.title = mItem.Fields["Title"].ToString(); newsParams.author = mItem.Fields["Author"].ToString(); newsParams.digest = mItem.Fields["Summary"].ToString(); newsParams.thumb_media_id = mItem.Fields["thumbnailID"].ToString(); newsParams.content_source_url = Sitecore.Links.LinkManager.GetItemUrl(mItem); newsParams.content = MsgService.Base64Decode(Request.Params["genHtml"]); articles.Add(newsParams); NewsResponse newsResponse = (NewsResponse)JsonConvert.DeserializeObject(MsgService.AddNews(articles), typeof(NewsResponse)); using (new Sitecore.SecurityModel.SecurityDisabler()) { mItem.Editing.BeginEdit(); mItem["NewsID"] = newsResponse.Media_ID; mItem.Editing.EndEdit(); } RTMsgID rtMsgID = new RTMsgID(); rtMsgID.media_id = newsResponse.Media_ID; RTMessageInt rtMessageInt = new RTMessageInt(); rtMessageInt.touser = toUserName; rtMessageInt.msgtype = "mpnews"; rtMessageInt.mpnews = rtMsgID; string r = MsgService.SendRTMsg(rtMessageInt); return(Content(r)); }
public NewsWithFilterForCountAsyncSpecificaiton(NewsParams queryParams) : base(x => ( string.IsNullOrEmpty(queryParams.Search) || x.Header.ToLower().Contains(queryParams.Search) || x.Content.ToLower().Contains(queryParams.Search) || x.ContentType.ToLower().Contains(queryParams.Search) || x.User.FirstName.ToLower().Contains(queryParams.Search) || x.User.LastName.ToLower().Contains(queryParams.Search) ) && (!queryParams.ScreenId.HasValue || x.NewsSubScreens.Any(y => y.ScreenId == queryParams.ScreenId)) && (!queryParams.SubScreenId.HasValue || x.NewsSubScreens.Any(y => y.Id == queryParams.SubScreenId)) && (!queryParams.Reject.HasValue || x.Reject == queryParams.Reject) && (!queryParams.IsNew.HasValue || x.IsNew == queryParams.IsNew) && (!queryParams.IsPublish.HasValue || x.IsPublish == queryParams.IsPublish) ) { }
//[SecuredOperation("Sudo,News.List,News.All", Priority = 1)] public async Task <Pagination <NewsForReturnDto> > GetListAsync(NewsParams queryParams) { var spec = new NewsWithPagingSpecification(queryParams); var listFromRepo = await newsDal.ListEntityWithSpecAsync(spec); var countSpec = new NewsWithFilterForCountAsyncSpecificaiton(queryParams); var totalItem = await newsDal.CountAsync(countSpec); var data = mapper.Map <List <News>, List <NewsForReturnDto> >(listFromRepo); return(new Pagination <NewsForReturnDto> ( queryParams.PageIndex, queryParams.PageSize, totalItem, data )); }
public async Task <ActionResult <Pagination <NewsForReturnDto> > > List([FromQuery] NewsParams queryParams) { return(await newsService.GetListAsync(queryParams)); }
public Task <PagedList <News> > GetByName(NewsParams newsParams) => newsRepository.GetByName(newsParams);