示例#1
0
        public IActionResult Get([FromQuery] BlogFilterModel filter)
        {
            var blogResponse = blogService.GetBlogs(filter);

            LogHelper.Info(_logger, new LogHelperModel
            {
                UserNo      = "1",
                UserName    = "******",
                Message     = "Test User Blog Getirdi.",
                ActionTaken = "GetBlog"
            });
            if (blogResponse.IsSucceeded && !blogResponse.Result.IsNullOrEmpty())
            {
                return(Ok(blogResponse.Result.Select(x => new BlogViewModel()
                {
                    Id = x.Id,
                    CategoryTitle = x.Category.Title,
                    Title = x.Title,
                    ShortContent = x.ShortContent,
                    PublishDate = x.PublishDate,
                    //Content = x.Content,
                    ImageUrl = ImageHelper.GetImageUrlById(x.ImageId)
                }).ToList()));
            }


            return(blogResponse.HttpGetResponse());
        }
示例#2
0
        public ServiceResponse <List <Blog> > GetBlogs(BlogFilterModel filter)
        {
            var response = new ServiceResponse <List <Blog> >();

            response.IsSucceeded     = true;
            response.RecordsTotal    = blogRepository.ListQueryable.Count();
            response.RecordsFiltered = blogRepository.ListQueryable.AddSearchFilters(filter).Count();
            response.Result          = blogRepository.ListQueryable.AddSearchFilters(filter).AddOrderAndPageFilters(filter).ToList();

            return(response);
        }
示例#3
0
        public static IQueryable <Blog> AddSearchFilters(this IQueryable <Blog> input, BlogFilterModel filter)
        {
            if (filter != null)
            {
                if (filter.Term?.Length > 0)
                {
                    input = input.Where(x => x.Title.Contains(filter.Term));
                }

                if (filter.CategoryId > 0)
                {
                    input = input.Where(x => x.CategoryId == filter.CategoryId);
                }
                if (filter.CategoryTerm?.Length > 0)
                {
                    input = input.Where(x => x.Category.Title.Contains(filter.CategoryTerm));
                }
                if (filter.CategoryNotTerm?.Length > 0)
                {
                    input = input.Where(x => !x.Category.Title.ToLower().Contains(filter.CategoryNotTerm.ToLower()));
                }
            }

            return(input);
        }