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()); }
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); }
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); }