예제 #1
0
        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);
        }
예제 #2
0
 public ServiceResponse <PostsDto> Search(SearchPostsDto searchPostsDto)
 {
     return(_postService.Search(searchPostsDto));
 }