Personalblog/Services/PostService.cs

(开头部分) 8KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Markdig.Renderers.Normalize;
using Markdig.Syntax.Inlines;
using Markdig.Syntax;
using Markdig;
using Microsoft.EntityFrameworkCore;
using Personalblog.Model;
using Personalblog.Model.Entitys;
using Personalblog.Model.ViewModels;
using System.Linq;
using System.Linq.Expressions;
using X.PagedList;
using System.Net;
using Personalblog.Utils;

namespace Personalblog.Services
{
    public class PostService
    {
        private readonly MyDbContext _myDbContext;
        private readonly ConfigService _conf;
        private readonly IWebHostEnvironment _environment;
        private readonly CommonService _commonService;

        public PostService(MyDbContext myDbContext,
            ConfigService conf, 
            IWebHostEnvironment environment,
            CommonService commonService)
        {
            _myDbContext = myDbContext;
            _conf = conf;
            _environment = environment;
            _commonService = commonService;
        }
        public string Host => _conf["host"];
        //public string Host => "https://localhost:44310/";
        public IPagedList<Post> GetPagedList(PostQueryParameters param)
        {
            var querySet = _myDbContext.posts.Include(a => a.Categories).Select(a=>new Post
            {
                Id = a.Id,
                Categories = a.Categories,
                CategoryId = a.CategoryId,
                CreationTime = a.CreationTime,
                LastUpdateTime = a.LastUpdateTime,
                Path = a.Path,
                Summary = a.Summary,
                Title = a.Title
            });
            //分类过滤
            if(param.CategoryId != 0)
            {
                querySet = querySet.Where(a => a.CategoryId == param.CategoryId);
            }
            // 关键词过滤
            if (!string.IsNullOrEmpty(param.Search))
            {
                querySet = querySet.Where(a => a.Title.Contains(param.Search));
            }
            // 排序
            if (!string.IsNullOrEmpty(param.SortBy))
后面还有 164 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。