using Competition.Mysql.api;
using Competition.Mysql.api.Post;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Security;
using System.Transactions;
namespace CompetitionAPI.Controllers
{
///
/// 学校管理
///
[Route("api/[action]")]
[ApiController]
public class SchoolController : 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();
///
/// 添加学校
///
///
///
[Authorize]
[HttpPost]
public IActionResult AddSchoolManager(add_school_manager school)
{
var res = new result_data();
try
{
using (var scope=new TransactionScope())
{
if (!string.IsNullOrEmpty(school.LoginId) && !string.IsNullOrEmpty(school.SchoolName) && !string.IsNullOrEmpty(school.ContactName) && !string.IsNullOrEmpty(school.ContactNumber) && !string.IsNullOrEmpty(school.PassWord))
{
var list = bll.GetModelList(" UserId='" + school.LoginId + "'").FirstOrDefault();
if (list.IdentityName == "管理员")
{
var model = new Competition.Model.school_manager();
model.SchoolId = Guid.NewGuid().ToString();
model.SchoolName = school.SchoolName;
model.ContactName = school.ContactName;
model.ContactNumber = school.ContactNumber;
model.CreateTime = DateTime.Now;
bll_school.Add(model);
var alist = bll_school.GetModelList(" ContactNumber='" + school.ContactNumber + "'").FirstOrDefault();
var amodel = new Competition.Model.user_login();
amodel.UserId = Guid.NewGuid().ToString();
amodel.SchoolId = alist.SchoolId;
amodel.UserName = alist.ContactNumber;
amodel.PassWord = school.PassWord;
amodel.IsLogin = "0";
amodel.IdentityName = "学校管理员";
amodel.CreateTime = DateTime.Now;
bll.Add(amodel);
var models = new Competition.Model.daily_record();
models.LogId = Guid.NewGuid().ToString();
models.SchoolId = list.SchoolId;
models.CreateTime = DateTime.Now;
models.UserName = list.UserName;
models.Identity = list.IdentityName;
models.LogInfo = list.UserName + "添加" + school.SchoolName + "成功";
bll_log.Add(models);
//事物提交和回滚
scope.Complete();
res.code = 200;
res.msg = "添加成功";
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
}
}
catch (Exception ex)
{
res.code = 201;
res.msg="失败"+ex.Message;
}
return Ok(res);
}
///
/// 获取学校
///
///
///
[Authorize]
[HttpGet]
public IActionResult GetSchoolManager(string LoginId="",string SchoolName="")
{
var res = new get_school_manager();
try
{
var data=new List();
if (!string.IsNullOrEmpty(LoginId)&&!string.IsNullOrEmpty(SchoolName))
{
var alist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (alist.IdentityName == "管理员")
{
var list = bll_school.GetModelList(" SchoolName like '%" + SchoolName + "%'").ToList();
foreach (var item in list)
{
var model = new school_managerData();
model.SchoolId = item.SchoolId;
model.SchoolName = item.SchoolName;
model.ContactName = item.ContactName;
model.ContactNumber = item.ContactNumber;
data.Add(model);
}
var amodel = new Competition.Model.daily_record();
amodel.LogId = Guid.NewGuid().ToString();
amodel.SchoolId = alist.SchoolId;
amodel.UserName = alist.UserName;
amodel.CreateTime = DateTime.Now;
amodel.Identity = alist.IdentityName;
amodel.LogInfo = alist.UserName + "根据条件:" + SchoolName + "模糊查询学校成功";
bll_log.Add(amodel);
res.code = 200;
res.msg = "成功";
res.data = data;
}
else
{
res.code = 200;
res.msg = "身份不对";
}
}
else if(!string.IsNullOrEmpty(LoginId))
{
var alist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (alist.IdentityName == "管理员")
{
var list = bll_school.GetModelList("").ToList();
foreach (var item in list)
{
var model = new school_managerData();
model.SchoolId = item.SchoolId;
model.SchoolName = item.SchoolName;
model.ContactName = item.ContactName;
model.ContactNumber = item.ContactNumber;
data.Add(model);
}
var amodel = new Competition.Model.daily_record();
amodel.LogId = Guid.NewGuid().ToString();
amodel.SchoolId = alist.SchoolId;
amodel.UserName = alist.UserName;
amodel.CreateTime = DateTime.Now;
amodel.Identity = alist.IdentityName;
amodel.LogInfo = alist.UserName + "查询所有学校成功";
bll_log.Add(amodel);
res.code = 200;
res.msg = "成功";
res.data = data;
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
}
catch (Exception ex)
{
res.code = 201;
res.msg = "失败" + ex.Message;
}
return Ok(res);
}
///
/// 反填学校
///
///
///
[Authorize]
[HttpGet]
public IActionResult FindSchoolManager(string LoginId="",string SchoolId = "")
{
var res = new get_school_manager();
try
{
var data = new List();
if (!string.IsNullOrEmpty(LoginId)&&!string.IsNullOrEmpty(SchoolId))
{
var alist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (alist.IdentityName == "管理员")
{
var list = bll_school.GetModelList(" SchoolId='" + SchoolId + "'").FirstOrDefault();
var model = new school_managerData();
model.SchoolId = list.SchoolId;
model.SchoolName = list.SchoolName;
model.ContactName = list.ContactName;
model.ContactNumber = list.ContactNumber;
data.Add(model);
var amodel = new Competition.Model.daily_record();
amodel.LogId = Guid.NewGuid().ToString();
amodel.SchoolId = alist.SchoolId;
amodel.Identity = alist.IdentityName;
amodel.UserName = alist.UserName;
amodel.CreateTime = DateTime.Now;
amodel.LogInfo = alist.UserName + "反填" + list.SchoolName + "成功";
bll_log.Add(amodel);
res.code = 200;
res.msg = "成功";
res.data = data;
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
else
{
res.code = 201;
res.msg = "参数不能为空";
}
}
catch (Exception ex)
{
res.code = 201;
res.msg = "失败" + ex.Message;
}
return Ok(res);
}
///
/// 修改学校
///
///
///
[Authorize]
[HttpPost]
public IActionResult UpdateSchoolManager(update_school_manager school)
{
var res = new result_data();
try
{
using (var scope=new TransactionScope())
{
if(!string.IsNullOrEmpty(school.LoginId)&&!string.IsNullOrEmpty(school.SchoolId) && !string.IsNullOrEmpty(school.SchoolName) && !string.IsNullOrEmpty(school.ContactName) && !string.IsNullOrEmpty(school.ContactNumber))
{
var blist = bll.GetModelList(" UserId='" + school.LoginId + "'").FirstOrDefault();
if (blist.IdentityName == "管理员")
{
var list = bll_school.GetModelList(" SchoolId='" + school.SchoolId + "'").FirstOrDefault();
var model = new Competition.Model.school_manager();
model.SchoolId = school.SchoolId;
model.SchoolName = school.SchoolName;
model.ContactName = school.ContactName;
model.ContactNumber = school.ContactNumber;
model.CreateTime = list.CreateTime;
bll_school.Update(model);
var alist = bll.GetModelList(" SchoolId='" + school.SchoolId + "'").FirstOrDefault();
var amodel = new Competition.Model.user_login();
amodel.UserId = alist.UserId;
amodel.UserName = school.ContactNumber;
amodel.SchoolId = alist.SchoolId;
amodel.PassWord = alist.PassWord;
amodel.IsLogin = alist.IsLogin;
amodel.IdentityName = alist.IdentityName;
amodel.CreateTime = alist.CreateTime;
bll.Update(amodel);
var bmodeel = new Competition.Model.daily_record();
bmodeel.LogId = Guid.NewGuid().ToString();
bmodeel.SchoolId = blist.SchoolId;
bmodeel.UserName = blist.UserName;
bmodeel.CreateTime = DateTime.Now;
bmodeel.Identity = blist.IdentityName;
bmodeel.LogInfo = blist.UserName + "修改" + school.SchoolName + "成功";
bll_log.Add(bmodeel);
//事务提交回滚
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 DelSchoolManager(string LoginId="",string SchoolId = "")
{
var res=new result_data();
try
{
using (var scope=new TransactionScope())
{
if (!string.IsNullOrEmpty(LoginId) &&!string.IsNullOrEmpty(SchoolId))
{
var alist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (alist.IdentityName == "管理员")
{
var blist = bll_school.GetModelList(" SchoolId='" + SchoolId + "'").FirstOrDefault();
bll_school.Delete(SchoolId);
var list = bll.GetModelList(" SchoolId='" + SchoolId + "'").ToList();
foreach (var item in list)
{
bll.Delete(item.UserId);
}
var amodel = new Competition.Model.daily_record();
amodel.LogId = Guid.NewGuid().ToString();
amodel.SchoolId = alist.SchoolId;
amodel.Identity = alist.IdentityName;
amodel.UserName = alist.UserName;
amodel.CreateTime = DateTime.Now;
amodel.LogInfo = alist.UserName + "删除" + blist.SchoolName + "成功和学校下所有账号";
bll_log.Add(amodel);
//事务提交回滚
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]
[HttpPost]
public IActionResult AddUserList(add_user_list user)
{
var res=new result_data();
try
{
using (var scope = new TransactionScope())
{
if (!string.IsNullOrEmpty(user.LoginId) && !string.IsNullOrEmpty(user.Prefix) && user.Quantity > 0 && !string.IsNullOrEmpty(user.SchoolId))
{
var list = bll.GetModelList(" UserId='" + user.LoginId + "'").FirstOrDefault();
if (list.IdentityName == "管理员")
{
var a = bll.GetModelList(" UserName like '%" + user.Prefix + "%'").ToList();
var b = a.Count();
var c = b + 1;
var count = c + user.Quantity;
for (int i = c; i <= count; i++)
{
var Prefix = user.Prefix + "_" + i;
var model = new Competition.Model.user_login();
model.UserId = Guid.NewGuid().ToString();
model.UserName = Prefix;
model.PassWord = Prefix;
model.SchoolId = user.SchoolId;
model.IdentityName = "学生";
model.IsLogin = "0";
model.CreateTime = DateTime.Now;
bll.Add(model);
}
var alist = bll_school.GetModelList(" SchoolId='" + user.SchoolId + "'").FirstOrDefault();
var amodel = new Competition.Model.daily_record();
amodel.LogId = Guid.NewGuid().ToString();
amodel.Identity = list.IdentityName;
amodel.SchoolId = list.SchoolId;
amodel.CreateTime = DateTime.Now;
amodel.UserName = list.UserName;
amodel.LogInfo = list.UserName + "为" + alist.SchoolName + "生成" + user.Quantity + "个账号";
bll_log.Add(amodel);
//事物提交回滚
scope.Complete();
res.code = 200;
res.msg = "批量生成成功";
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
}
}
catch (Exception ex)
{
res.code = 500;
res.msg = "失败" + ex.Message;
}
return Ok(res);
}
}
}