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(paramDto); homeWorkEntity.SchoolCode = UserLoginContext.Current.SchoolCode; homeWorkEntity.TeacherPhoneNo = UserLoginContext.Current.PhoneNo; homeWorkEntity.WorkStatus = 1; await _sportsContext.AddAsync(homeWorkEntity); await _sportsContext.SaveChangesAsync(); } public async Task> 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 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>(x.HomeWorkStudents), }).FirstOrDefaultAsync(); return res; } } }