58 lines
2.4 KiB
C#
58 lines
2.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.ConstrainedExecution;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using LearningOfficer.OA.Common.Attributes;
|
|
using LearningOfficer.OA.Common.Dtos.Classes;
|
|
using LearningOfficer.OA.Common.Dtos.LoginMobile;
|
|
using LearningOfficer.OA.Common.Dtos.OA.ManagerData;
|
|
using LearningOfficer.OA.Common.Dtos.OA.WorkProcess;
|
|
using LearningOfficer.OA.Common.Dtos.School;
|
|
using LearningOfficer.OA.Common.Dtos.V2.WorkProcess;
|
|
using LearningOfficer.OA.Common.Enums;
|
|
using LearningOfficer.OA.Common.Exceptions;
|
|
using LearningOfficer.OA.Core.Entities.OA.SystemInfo;
|
|
using LearningOfficer.OA.Core.Entities.OA.WorkProcess.ClassesTask;
|
|
using LearningOfficer.OA.Core.Entities.UserCenter;
|
|
using LearningOfficer.OA.Core.ServicesInterfaces;
|
|
using LearningOfficer.OA.Core.ServicesInterfaces.ClassTask;
|
|
using LearningOfficer.OA.Infrastructure.DBContext;
|
|
using Microsoft.EntityFrameworkCore.Internal;
|
|
using StackExchange.Redis;
|
|
using UserCenter.Model.Common;
|
|
using UserCenter.Model.Enum;
|
|
|
|
namespace LearningOfficer.OA.Services.WorkProcess.ClassTask
|
|
{
|
|
[Inject]
|
|
public class Task_checklistService : BaseService<Task_checklist>, ITask_checklistService
|
|
{
|
|
private readonly SugarRepository<Task_checklist> _db;
|
|
public Task_checklistService(SugarRepository<Task_checklist> db) : base(db)
|
|
{
|
|
_db = db;
|
|
}
|
|
public async Task<List<ClassesResult>> GetBindClassesBySchoolId(long userId)
|
|
{
|
|
//学习官
|
|
var classes = await _db.Context.Queryable<OaClassesFollowRelationship>().AS<OaClassesFollowRelationship>("usercenter_v1.oa_classes_follow_relationship")
|
|
.LeftJoin<Classes>((u, c) => u.ClassesId == c.Id).AS<Classes>("usercenter_v1.classes")
|
|
.LeftJoin<School>((u, c, s) => c.SchoolId == s.Id).AS<School>("usercenter_v1.school")
|
|
.Where((u, c, s) => u.UserId == userId && c.DeleteState == false)
|
|
.Select((u, c, s) => new ClassesResult
|
|
{
|
|
Id = c.Id,
|
|
Name = c.ClassName,
|
|
GradeLevel = c.GradeLevel,
|
|
GraduationYear = c.GraduationYear,
|
|
SchoolId = s.Id,
|
|
SchoolName = s.Name,
|
|
})
|
|
.ToListAsync();
|
|
return classes;
|
|
}
|
|
}
|
|
}
|