2025-01-13 21:06:59 +08:00

66 lines
2.2 KiB
C#

using AutoMapper;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using YD_XinWei.Api.Context;
using YD_XinWei.Api.Services.Interface;
using YD_XinWei.Api.SmartSportsEntitys;
using YD_XinWei.Api.Utilities;
using YD_XinWei.Commons.Dto.HomeWork;
using YD_XinWei.Commons.Dto.School;
namespace YD_XinWei.Api.Services.Impl
{
public class HomeWorkService : IHomeWorkService
{
public SmartSportsContext _sportsContext;
private readonly IMapper _mapper;
public HomeWorkService(SmartSportsContext sportsContext, IMapper mapper)
{
_sportsContext = sportsContext;
_mapper = mapper;
}
public async Task AddHomeWork(AddHomeWorkDto paramDto)
{
var homeWorkEntity = _mapper.Map<S_HomeWork>(paramDto);
homeWorkEntity.SchoolCode = UserLoginContext.Current.SchoolCode;
homeWorkEntity.TeacherPhoneNo = UserLoginContext.Current.PhoneNo;
homeWorkEntity.WorkStatus = 1;
await _sportsContext.AddAsync(homeWorkEntity);
await _sportsContext.SaveChangesAsync();
}
public async Task<List<HomeWorkRecordDto>> HomeWorkRecord(string teacherPhoneNo)
{
var res = await _sportsContext.HomeWork.Where(x => x.TeacherPhoneNo == teacherPhoneNo).Select(x => new HomeWorkRecordDto()
{
Id = x.Id,
WorkName = x.WorkName,
WorkStatus = x.WorkStatus,
StartTime = x.StartTime,
EndTime = x.EndTime
}).ToListAsync();
return res;
}
public async Task<HomeWorkDetailsDto> HomeWorkDetails(int homeWorkId)
{
var res = await _sportsContext.HomeWork.Where(x => x.Id == homeWorkId).Select(x => new HomeWorkDetailsDto()
{
Id = x.Id,
WorkName = x.WorkName,
StartTime = x.StartTime,
EndTime = x.EndTime,
StudentScope = x.StudentScope,
WorkText = x.WorkText,
HomeWorkStudents = _mapper.Map<List<HomeWorkStudentsDto>>(x.HomeWorkStudents),
}).FirstOrDefaultAsync();
return res;
}
}
}