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);
}
}
}