AccountAuthorization/LKJCpowerSupplyOfficeSimula.../CompetitionAPI/Controllers/ClassUserController.cs

315 lines
14 KiB
C#

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 Org.BouncyCastle.Bcpg;
using System.Transactions;
namespace CompetitionAPI.Controllers
{
/// <summary>
/// 班级账号管理
/// </summary>
[Route("api/[action]")]
[ApiController]
public class ClassUserController : ControllerBase
{
Competition.BLL.daily_record bll_log = new Competition.BLL.daily_record();
Competition.BLL.user_login bll = new Competition.BLL.user_login();
Competition.BLL.class_manager bll_class = new Competition.BLL.class_manager();
/// <summary>
/// 获取所有班级用户
/// </summary>
/// <param name="LoginId"></param>
/// <param name="ClassName"></param>
/// <param name="UserName"></param>
/// <returns></returns>
[Authorize]
[HttpGet]
public IActionResult GetClassUser(string LoginId="",string ClassName="",string UserName="")
{
var res = new get_class_user();
try
{
using (var scope = new TransactionScope())
{
var data = new List<class_userData>();
if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(ClassName) || !string.IsNullOrEmpty(UserName))
{
var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (loglist.IdentityName == "学校管理员")
{
var logmodel = new Competition.Model.daily_record();
logmodel.LogId = Guid.NewGuid().ToString();
logmodel.UserName = loglist.UserName;
logmodel.Identity = loglist.IdentityName;
logmodel.SchoolId = loglist.SchoolId;
logmodel.CreateTime = DateTime.Now;
logmodel.LogInfo = loglist.UserName + "获取班级名称为:" + ClassName + "用户为:" + UserName + "成功";
bll_log.Add(logmodel);
var alist = bll_class.GetModelList("SchoolId='" + loglist.SchoolId + "' and ClassName like '%" + ClassName + "%'").ToList();
foreach (var item in alist)
{
var list = bll.GetModelList(" ClassId ='" + item.ClassId + "' and UserName like '%" + UserName + "%'").ToList();
foreach (var aitem in list)
{
var model = new class_userData();
model.UserId = aitem.UserId;
model.UserName = aitem.UserName;
model.ClassName = item.ClassName;
model.IdentityName = aitem.IdentityName;
model.CreateTime = Convert.ToDateTime(aitem.CreateTime);
data.Add(model);
}
}
//事务提交回滚
scope.Complete();
res.code = 200;
res.msg = "成功";
res.data = data;
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
else if (!string.IsNullOrEmpty(LoginId))
{
var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (loglist.IdentityName == "学校管理员")
{
var logmodel = new Competition.Model.daily_record();
logmodel.LogId = Guid.NewGuid().ToString();
logmodel.UserName = loglist.UserName;
logmodel.Identity = loglist.IdentityName;
logmodel.SchoolId = loglist.SchoolId;
logmodel.CreateTime = DateTime.Now;
logmodel.LogInfo = loglist.UserName + "获取所有班级用户成功";
bll_log.Add(logmodel);
var list = bll.GetModelList(" SchoolId='" + loglist.SchoolId + "'").ToList();
foreach (var aitem in list)
{
var model = new class_userData();
model.UserId = aitem.UserId;
model.UserName = aitem.UserName;
var alist = bll_class.GetModelList(" ClassId='" + aitem.ClassId + "'").FirstOrDefault();
if (alist != null)
{
model.ClassName = alist.ClassName;
}
else
{
model.ClassName = "";
}
model.IdentityName = aitem.IdentityName;
model.CreateTime = Convert.ToDateTime(aitem.CreateTime);
data.Add(model);
}
//事务提交回滚
scope.Complete();
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);
}
/// <summary>
/// 删除班级用户
/// </summary>
/// <param name="LoginId"></param>
/// <param name="UserId"></param>
/// <returns></returns>
[Authorize]
[HttpGet]
public IActionResult DelClassUser(string LoginId="",string UserId = "")
{
var res = new result_data();
try
{
using (var scope = new TransactionScope())
{
if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(UserId))
{
var list = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (list.IdentityName == "学校管理员")
{
var alist = bll.GetModelList(" UserId='" + UserId + "'").FirstOrDefault();
bll.Delete(UserId);
var model = new Competition.Model.daily_record();
model.LogId = Guid.NewGuid().ToString();
model.Identity = list.IdentityName;
model.UserName = list.UserName;
model.SchoolId = list.SchoolId;
model.LogInfo = list.UserName + "删除班级用户:" + alist.UserName + "成功";
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);
}
/// <summary>
/// 反填班级用户
/// </summary>
/// <param name="LoginId"></param>
/// <param name="UserId"></param>
/// <returns></returns>
[Authorize]
[HttpGet]
public IActionResult FindClassUser(string LoginId = "", string UserId = "")
{
var res = new find_class_user();
try
{
using (var scope = new TransactionScope())
{
if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(UserId))
{
var data = new List<find_class_userData>();
var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (loglist.IdentityName == "学校管理员")
{
var list = bll.GetModelList(" UserId='" + UserId + "'").FirstOrDefault();
var model = new find_class_userData();
model.UserId = list.UserId;
model.UserName = list.UserName;
model.IdentityName = list.IdentityName;
var alist = bll_class.GetModelList(" ClassId='" + list.ClassId + "'").FirstOrDefault();
model.ClassId = list.ClassId;
data.Add(model);
var logmodel = new Competition.Model.daily_record();
logmodel.LogId = Guid.NewGuid().ToString();
logmodel.Identity = loglist.IdentityName;
logmodel.SchoolId = loglist.SchoolId;
logmodel.UserName = loglist.UserName;
logmodel.CreateTime = DateTime.Now;
logmodel.LogInfo = loglist.UserName + "反填班级名称的" + alist.ClassName + "用户名称的" + list.UserName + "数据成功";
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 = "参数不能为空";
}
}
}
catch (Exception ex)
{
res.code = 500;
res.msg="失败"+ex.Message;
}
return Ok(res);
}
/// <summary>
/// 修改班级用户
/// </summary>
/// <param name="cla"></param>
/// <returns></returns>
[Authorize]
[HttpPost]
public IActionResult UpdateClassUser(update_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.UserName) && !string.IsNullOrEmpty(cla.UserId))
{
var loglist = bll.GetModelList(" UserId='" + cla.LoginId + "'").FirstOrDefault();
if (loglist.IdentityName == "学校管理员")
{
var list = bll.GetModelList(" UserId='" + cla.UserId + "'").FirstOrDefault();
var alist = bll_class.GetModelList(" ClassId='" + list.ClassId + "'").FirstOrDefault();
list.ClassId = cla.ClassId;
list.UserName = cla.UserName;
list.IdentityName = cla.IdentityName;
list.PassWord = cla.PassWord;
bll.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 = loglist.UserName + "修改班级名称:" + alist.ClassName + "用户" + list.UserName + "成功";
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);
}
}
}