using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using AutoMapper;using Demo.Net.DTOs;using Demo.Net.IService;using Deom.Net.Model;using Deom.Net.Utils;using Deom.Net.Utils.ClassroomUtils;using Microsoft.AspNetCore.Mvc;namespace NET.ProWebAPI.Controllers{[ApiController][Route("api/[controller]/[action]")]public class ClassroomController : ControllerBase{private readonly IClassroomService _classroomService;private readonly IMapper _mapper;//IMapper参数代表用于对象映射的工具。public ClassroomController(IClassroomService classroomService, IMapper mapper){_classroomService = classroomService;_mapper = mapper;}// 查询所有教室,可以不用传参数,直接查询全部前端拿来渲染下拉框,只需要渲染id和classroomName[HttpGet]public async Task<ActionResult<ApiTotalReturns>> GetClassroomInfo(int page, int pageNum){var res = await _classroomService.GetAllInfo();if (res.Count > 0 && res != null){var resClassroomDTO = _mapper.Map<List<ClassroomDTO>>(res);//获取总条数int total = resClassroomDTO.Count;//计算分页int skip = (page - 1) * pageNum;//分页var pageResClassroomDTO = resClassroomDTO.Skip(skip).Take(pageNum).ToList();//返回分页数据,页码,总条数,每页条数return ApiReturnsHelper.Succeed(resClassroomDTO, page, pageNum, total);}return ApiReturnsHelper.FailedPag("查不到");}//添加教室[HttpPost]public async Task<ActionResult<ApiReturns>> CreateClassroom(NewClassroom newClassroom){//检查该教室是否已经存在var isExist = await _classroomService.GetInfoByName(c => c.ClassroomName == newClassroom.ClassroomName);if (isExist != null){return ApiReturnsHelper.Failed("该教室已存在");}else{//创建新的教室对象var createClassroom = new Classroom(){ClassroomName = newClassroom.ClassroomName,};// 保存新创建的教室到数据库var result = await _classroomService.AddInfo(createClassroom);if (result){return ApiReturnsHelper.Succeed(result);}else{return ApiReturnsHelper.Failed("教室添加失败");}}}// 删除教室[HttpDelete("{classroomId}")]public async Task<ActionResult<ApiReturns>> DeleteClassroom(Guid classroomId){var classroom = await _classroomService.GetInfoById(classroomId);if (classroom == null){return ApiReturnsHelper.Failed("教室不存在");}// 检查教室是否有关联的课程if (classroom.Lessons != null && classroom.Lessons.Count > 0){return ApiReturnsHelper.Failed("无法删除有关联课程的教室");}// 标记教室为已删除classroom.IsDeleted = true;var result = await _classroomService.DeleteInfo(classroom);if (result){return ApiReturnsHelper.Succeed(result);}else{return ApiReturnsHelper.Failed("教室删除失败");}}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。