using Competition.Mysql.api; using Competition.Mysql.api.Post; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.CodeAnalysis; using NPOI.POIFS.Crypt.Dsig; using System.ComponentModel; using System.Transactions; namespace CompetitionAPI.Controllers { /// /// 班级管理 /// [Route("api/[action]")] [ApiController] public class ClassController : ControllerBase { Competition.BLL.user_login bll = new Competition.BLL.user_login(); Competition.BLL.daily_record bll_log = new Competition.BLL.daily_record(); // Competition.BLL.school_manager bll_school = new Competition.BLL.school_manager(); Competition.BLL.class_manager bll_class = new Competition.BLL.class_manager(); /// /// 添加班级 /// /// /// [Authorize] [HttpPost] public IActionResult AddClassManager(add_class_manager cla) { var res = new result_data(); try { using (var scope = new TransactionScope()) { if (!string.IsNullOrEmpty(cla.LoginId) && !string.IsNullOrEmpty(cla.ClassName) && !string.IsNullOrEmpty(cla.ContactName) && !string.IsNullOrEmpty(cla.ContactNumber)) { var list = bll.GetModelList(" UserId='"+ cla.LoginId + "'").FirstOrDefault(); if (list.IdentityName == "学校管理员") { var amodel = new Competition.Model.daily_record(); amodel.LogId = Guid.NewGuid().ToString(); amodel.SchoolId = list.SchoolId; amodel.UserName = list.UserName; amodel.Identity = list.IdentityName; amodel.CreateTime = DateTime.Now; amodel.LogInfo = list.UserName + "添加班级:" + cla.ClassName + "成功"; bll_log.Add(amodel); var model = new Competition.Model.class_manager(); model.ClassId = Guid.NewGuid().ToString(); model.SchoolId = list.SchoolId; model.ContactName = cla.ContactName; model.ClassName = cla.ClassName; model.ContactNumber = cla.ContactNumber; model.CreateTime = DateTime.Now; bll_class.Add(model); //提交事务回滚 scope.Complete(); res.code = 200; res.msg = "添加成功"; } else { res.code = 201; res.msg = "身份不对"; } } else { res.code = 201; res.msg = "参数不能为空"; } } } catch (Exception ex) { res.code = 500; res.msg = "失败" + ex.Message; } return Ok(res); } /// /// 获取班级 /// /// /// /// [Authorize] [HttpGet] public IActionResult GetClassManager(string LoginId="",string ClassName = "") { var res=new get_class_manager(); try { var data=new List(); if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(ClassName)) { var list = bll.GetModelList(" UserId='"+ LoginId + "'").FirstOrDefault(); if (list.IdentityName == "学校管理员") { var model = new Competition.Model.daily_record(); model.LogId = Guid.NewGuid().ToString(); model.SchoolId = list.SchoolId; model.Identity = list.IdentityName; model.UserName = list.UserName; model.CreateTime = DateTime.Now; model.LogInfo = list.UserName + "查询班级名称为:" + ClassName + "数据"; bll_log.Add(model); var alist = bll_class.GetModelList(" SchoolId='" + list.SchoolId + "' and ClassName like '%" + ClassName + "%'").ToList(); foreach (var item in alist) { var amodel = new class_managerData(); amodel.ClassId = item.ClassId; amodel.ClassName = item.ClassName; amodel.ContactName = item.ContactName; amodel.ContactNumber = item.ContactNumber; data.Add(amodel); } res.code = 200; res.msg = "成功"; res.data = data; } else { res.code = 201; res.msg = "身份不对"; } } else if(!string.IsNullOrEmpty(LoginId)) { var list = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault(); if (list.IdentityName == "学校管理员") { var model = new Competition.Model.daily_record(); model.LogId = Guid.NewGuid().ToString(); model.SchoolId = list.SchoolId; model.Identity = list.IdentityName; model.UserName = list.UserName; model.CreateTime = DateTime.Now; model.LogInfo = list.UserName + "查询所有班级数据"; bll_log.Add(model); var alist = bll_class.GetModelList(" SchoolId='" + list.SchoolId + "'").ToList(); foreach (var item in alist) { var amodel = new class_managerData(); amodel.ClassId = item.ClassId; amodel.ClassName = item.ClassName; amodel.ContactName = item.ContactName; amodel.ContactNumber = item.ContactNumber; data.Add(amodel); } res.code = 200; res.msg = "成功"; res.data = data; } else { res.code = 201; res.msg = "身份不对"; } } } catch (Exception ex) { res.code = 500; res.msg="失败"+ex.Message; } return Ok(res); } /// /// 添加班级用户 /// /// /// [Authorize] [HttpPost] public IActionResult AddClassUser(add_class_user cla) { var res = new result_data(); try { using (var scope = new TransactionScope()) { if (!string.IsNullOrEmpty(cla.LoginId) && !string.IsNullOrEmpty(cla.ClassId) && !string.IsNullOrEmpty(cla.UserId)) { var list = bll.GetModelList(" UserId='" + cla.LoginId + "'").FirstOrDefault(); if (list.IdentityName == "学校管理员") { var alist = bll_class.GetModelList(" ClassId='" + cla.ClassId + "'").FirstOrDefault(); var UserList = cla.UserId.Split(','); var count = UserList.Count(); var clist = bll_class.GetModelList(" ClassId='" + cla.ClassId + "'").FirstOrDefault(); foreach (var item in UserList) { var blist = bll.GetModelList(" UserId='" + item + "'").FirstOrDefault(); blist.ClassId = cla.ClassId; bll.Update(blist); } var model = new Competition.Model.daily_record(); model.UserName = list.UserName; model.SchoolId = list.SchoolId; model.Identity = list.IdentityName; model.CreateTime = DateTime.Now; model.LogId = Guid.NewGuid().ToString(); model.LogInfo = list.UserName + "为" + clist.ClassName + "添加" + count + "人"; bll_log.Add(model); //事务提交回滚 scope.Complete(); res.code = 200; res.msg = "添加成功"; } else { res.code = 201; res.msg = "身份不对"; } } else { res.code = 201; res.msg = "参数不能为空"; } } } catch (Exception ex) { res.code = 500; res.msg = "失败" + ex.Message; } return Ok(res); } /// /// 删除班级 /// /// /// /// [Authorize] [HttpGet] public IActionResult DelClassManager(string LoginId="",string ClassId = "") { var res = new result_data(); try { using (var scope = new TransactionScope()) { if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(ClassId)) { var list = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault(); if (list.IdentityName == "学校管理员") { var alist = bll_class.GetModelList(" ClassId='" + ClassId + "'").FirstOrDefault(); bll_class.Delete(ClassId); var blist = bll.GetModelList(" ClassId='" + ClassId + "'").ToList(); foreach (var item in blist) { bll.Delete(item.UserId); } var model = new Competition.Model.daily_record(); model.LogId = Guid.NewGuid().ToString(); model.SchoolId = list.SchoolId; model.Identity = list.IdentityName; model.UserName = list.UserName; model.CreateTime = DateTime.Now; model.LogInfo = list.UserName + "删除班级:" + alist.ClassName + "成功及以下所有账号用户"; bll_log.Add(model); //事务提交回滚 scope.Complete(); res.code = 200; res.msg = "删除成功"; } else { res.code = 201; res.msg = "身份不对"; } } else { res.code = 201; res.msg = "参数不能为空"; } } } catch (Exception ex) { res.code = 500; res.msg = "失败" + ex.Message; } return Ok(res); } /// /// 反填班级 /// /// /// /// [Authorize] [HttpGet] public IActionResult FindClassManager(string LoginId = "", string ClassId = "") { var res = new find_class_manager(); try { using (var scope = new TransactionScope()) { var data = new List(); if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(ClassId)) { var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault(); var list = bll_class.GetModelList(" ClassId='" + ClassId + "'").FirstOrDefault(); if (list != null) { if (loglist.IdentityName == "学校管理员") { var model = new find_class_managerData(); model.ClassId = list.ClassId; model.SchoolId = list.SchoolId; model.ClassName = list.ClassName; model.ContactName = list.ContactName; model.ContactNumber = list.ContactNumber; data.Add(model); var logmodel = new Competition.Model.daily_record(); logmodel.LogId = Guid.NewGuid().ToString(); logmodel.CreateTime = DateTime.Now; logmodel.SchoolId = loglist.SchoolId; logmodel.Identity = loglist.IdentityName; logmodel.UserName = loglist.UserName; logmodel.LogInfo = loglist.UserName + "反填班级:" + list.ClassName + "成功"; bll_log.Add(logmodel); //事务提交回滚 scope.Complete(); res.code = 200; res.msg = "成功"; res.data = data; } else { res.code = 201; res.msg = "身份不对"; } } else { res.code = 201; res.msg = "无此数据"; } } else { res.code = 201; res.msg = "参数不能为空"; } } } catch (Exception ex) { res.code = 500; res.msg = "失败" + ex.Message; } return Ok(res); } /// /// 修改班级 /// /// /// [Authorize] [HttpPost] public IActionResult UpdateClassManager(update_class_manager cla) { var res = new result_data(); try { using (var scope = new TransactionScope()) { if (!string.IsNullOrEmpty(cla.LoginId) && !string.IsNullOrEmpty(cla.ClassId) && !string.IsNullOrEmpty(cla.ClassName) && !string.IsNullOrEmpty(cla.ContactName) && !string.IsNullOrEmpty(cla.ContactNumber)) { var loglist = bll.GetModelList(" UserId='" + cla.LoginId + "'").FirstOrDefault(); if (loglist.IdentityName == "学校管理员") { var list = bll_class.GetModelList(" ClassId='" + cla.ClassId + "'").FirstOrDefault(); list.ContactName = cla.ContactName; list.ContactNumber = cla.ContactNumber; list.SchoolId = list.SchoolId; list.ClassName = cla.ClassName; list.CreateTime = DateTime.Now; bll_class.Update(list); var logmodel = new Competition.Model.daily_record(); logmodel.LogId = Guid.NewGuid().ToString(); logmodel.SchoolId = loglist.SchoolId; logmodel.Identity = loglist.IdentityName; logmodel.UserName = loglist.UserName; logmodel.CreateTime = DateTime.Now; logmodel.LogInfo = logmodel.UserName + "修改班级:" + list.ClassName + "成功"; bll_log.Add(logmodel); //事务提交回滚 scope.Complete(); res.code = 200; res.msg = "修改成功"; } else { res.code = 201; res.msg = "身份不对"; } } else { res.code = 201; res.msg = "参数不能为空"; } } } catch (Exception ex) { res.code = 500; res.msg = "失败" + ex.Message; } return Ok(res); } } }