Student.Services/StudentInfoService.cs

(开头部分) 5KB

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

using Auth.Jwt;
using AutoMapper;
using AutoMapper.QueryableExtensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Student.DTO;
using Student.IServices;
using Student.Model;
using System;
using System.Linq;
using System.Threading.Tasks;
using yrjw.ORM.Chimp;
using yrjw.ORM.Chimp.Result;

namespace Student.Services
{
    public class StudentInfoService: BaseService<StudentInfo, StudentInfoDTO, long>, IStudentInfoService, IDependency
    {
        private readonly Lazy<IRepository<Depart>> repDepart;

        public StudentInfoService(Lazy<IMapper> mapper, IUnitOfWork unitOfWork, ILogger<StudentInfoService> logger, Lazy<ILoginInfo> loginInfo,
            Lazy<IRepository<StudentInfo>> _repository,
            Lazy<IRepository<Depart>> repDepart) : base(mapper, unitOfWork, logger, loginInfo, _repository)
        {
            this.repDepart = repDepart;
        }

        /// <summary>
        /// 分页数据
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="dept"></param>
        /// <param name="search"></param>
        /// <returns></returns>
        public async Task<IResultModel> GetPagedListAsync(int pageIndex, int pageSize, int dept, string search)
        {
            var data = _repository.Value.TableNoTracking.Where(p => p.Deleted == 0);
            if(dept > 0)
            {
                var deptlist = repDepart.Value.GetById(dept);
                if (deptlist != null)
                {
                    if(deptlist.DeptType== Model.Enums.EnumDeptType.grade)
                    {
                        var ids = repDepart.Value.Table.Where(p => p.DeptType == Model.Enums.EnumDeptType.classes && p.GradeId == dept).Select(s=>s.Id).ToList();
                        data = data.Where(p => ids.Contains(p.DepartId));
                    }
                    else
                    {
                        data = data.Where(p => p.DepartId == dept);
                    }
                }
            }
            if (!search.IsNull())
            {
                if (search.IsMobileNumber())
                {
                    data = data.Where(p => p.Phone == search);
                }
后面还有 80 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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