public ServiceResponse <PostsDto> Search(SearchPostsDto searchPostsDto) { var response = new ServiceResponse <PostsDto>(null); searchPostsDto.Skip = searchPostsDto.Skip == 0 ? 1 : searchPostsDto.Skip; searchPostsDto.Take = searchPostsDto.Take == 0 ? 10 : searchPostsDto.Take; try { var query = _postsRepository.Table.Where(m => m.Title.Contains(searchPostsDto.SearchText) || m.Content.Contains(searchPostsDto.SearchText) || m.Keywords.Contains(searchPostsDto.SearchText)).Where(m => m.Visibility != 0 && m.Status != 0).OrderByDescending(x => x.CreatedAt).Skip(searchPostsDto.Skip).Take(searchPostsDto.Take); foreach (var file in query) { response.List.Add(new PostsDto { PostsId = file.PostsId, LanguagesId = file.LanguagesId, Title = file.Title, TitleSlug = file.TitleSlug, Summary = file.Summary, Content = file.Content, Keywords = file.Keywords, UserId = file.UserId, CategoryId = file.CategoryId, ImageBig = file.ImageBig, ImageMid = file.ImageMid, ImageSmall = file.ImageSmall, ImageSlider = file.ImageSlider, ImageMime = file.ImageMime, IsSlider = file.IsSlider, IsPicked = file.IsPicked, Hit = file.Hit, SliderOrder = file.SliderOrder, OptionalUrl = file.OptionalUrl, PostType = file.PostType, VideoUrl = file.VideoUrl, VideoEmbedCode = file.VideoEmbedCode, ImageUrl = file.ImageUrl, NeedAuth = file.NeedAuth, Visibility = file.Visibility, Status = file.Status, CreatedAt = file.CreatedAt }); } response.Count = response.List.Count; response.IsSuccessful = true; } catch (Exception e) { response.ExceptionMessage = e.Message; } return(response); }
public ServiceResponse <PostsDto> Search(SearchPostsDto searchPostsDto) { return(_postService.Search(searchPostsDto)); }