using Competition.Mysql.api; using Competition.Mysql.api.Post; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using NPOI.POIFS.Storage; using NPOI.SS.Formula.Functions; using SkiaSharp; using System.ComponentModel; using System.Transactions; namespace CompetitionAPI.Controllers { /// /// 任务用户 /// [Route("api/[action]")] [ApiController] public class TaskUserController : ControllerBase { Competition.BLL.user_login bll=new Competition.BLL.user_login(); Competition.BLL.daily_record bll_log=new Competition.BLL.daily_record(); Competition.BLL.task_user bll_user=new Competition.BLL.task_user(); Competition.BLL.task_manager bll_task=new Competition.BLL.task_manager(); /// /// 获取任务用户 /// /// /// /// /// [HttpGet] public IActionResult GetTaskUser(string LoginId="",string TaskName="",string UserName = "") { var res = new get_task_user(); try { using (var scope = new TransactionScope()) { var data = new List(); if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(TaskName) || !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.Identity = loglist.IdentityName; logmodel.CreateTime = DateTime.Now; logmodel.SchoolId = loglist.SchoolId; logmodel.LogInfo = loglist.UserName + "获取任务名称:'" + TaskName + "'用户名称:'" + UserName + "'成功"; bll_log.Add(logmodel); var list = bll_task.GetModelList(" UserId='" + LoginId + "' and TaskName like '%" + TaskName + "%'").ToList(); foreach (var item in list) { var alist = bll_user.GetModelList(" TaskId='" + item.TaskId + "'").ToList(); foreach (var aitem in alist) { var blist = bll.GetModelList(" UserId='" + aitem.UserId + "' and UserName like '%" + UserName + "%'").ToList(); foreach (var bitem in blist) { var model = new task_userData(); model.TaskUserId=aitem.TaskUserId; model.TaskId = item.TaskId; model.UserId = bitem.UserId; model.TaskName = item.TaskName; model.CreateTime = Convert.ToDateTime(bitem.CreateTime); model.UserName = bitem.UserName; data.Add(model); } } } //事务提交回滚 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.Identity = loglist.IdentityName; logmodel.CreateTime = DateTime.Now; logmodel.SchoolId = loglist.SchoolId; logmodel.LogInfo = loglist.UserName + "获取所有任务用户成功"; bll_log.Add(logmodel); var list = bll_task.GetModelList(" UserId='" + LoginId + "'").ToList(); foreach (var item in list) { var alist = bll_user.GetModelList(" TaskId='" + item.TaskId + "'").ToList(); foreach (var aitem in alist) { var blist = bll.GetModelList(" UserId='" + aitem.UserId + "'").ToList(); foreach (var bitem in blist) { var model = new task_userData(); model.TaskUserId = aitem.TaskUserId; model.TaskId= item.TaskId; model.UserId = bitem.UserId; model.TaskName = item.TaskName; model.CreateTime = Convert.ToDateTime(bitem.CreateTime); model.UserName = bitem.UserName; data.Add(model); } } } //事务提交回滚 scope.Complete(); res.code = 200; res.msg = "成功"; res.data = data; } else { res.code = 200; res.msg = "身份不对"; } } } } catch (Exception ex) { res.code = 500; res.msg="失败"+ex.Message; } return Ok(res); } /// /// 删除任务用户 /// /// /// /// [HttpGet] public IActionResult DelTaskUser(string LoginId="",string TaskId="",string UserId = "") { var res=new result_data(); try { if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(TaskId) && !string.IsNullOrEmpty(UserId)) { var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault(); if (loglist.IdentityName == "老师") { var list = bll_user.GetModelList(" TaskId='" + TaskId + "' and UserId='" + UserId + "'").FirstOrDefault(); 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 + "删除任务用户Id:'" + list.TaskUserId + "'成功"; bll_log.Add(logmodel); bll_user.Delete(list.TaskUserId); res.code = 200; res.msg = "删除成功"; } 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); } /// /// 反填任务用户 /// /// /// /// [HttpGet] public IActionResult FindTaskUser(string LoginId="",string TaskUserId = "") { var res = new find_task_user(); try { if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(TaskUserId)) { var data = new List(); var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault(); if (loglist.IdentityName == "老师") { var list = bll_user.GetModelList(" TaskUserId='" + TaskUserId + "'").FirstOrDefault(); var tasklist = bll_task.GetModelList(" TaskId='" + list.TaskId + "'").FirstOrDefault(); var userlist = bll.GetModelList(" UserId='" + list.UserId + "'").FirstOrDefault(); var model = new find_task_userData(); model.TaskUserId = list.TaskUserId; model.TaskId = list.TaskId; model.UserId= list.UserId; model.TaskName = tasklist.TaskName; model.UserName = userlist.UserName; data.Add(model); var logmodel = new Competition.Model.daily_record(); logmodel.LogId=Guid.NewGuid().ToString(); logmodel.CreateTime = DateTime.Now; logmodel.SchoolId=loglist.SchoolId; logmodel.UserName=loglist.UserName; logmodel.Identity = loglist.IdentityName; logmodel.LogInfo = loglist.UserName + "反填任务用户Id:'"+list.TaskUserId+"'成功"; bll_log.Add(logmodel); 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); } /// /// 修改任务用户 /// /// /// [HttpPost] public IActionResult UpdateTaskUser(update_task_user task) { var res = new result_data(); try { var loglist = bll.GetModelList(" UserId='" + task.LoginId + "'").FirstOrDefault(); if (loglist.IdentityName == "老师") { var list = bll_user.GetModelList(" TaskUserId='"+task.TaskUserId+"'").FirstOrDefault(); list.TaskId = task.TaskId; list.UserId= task.UserId; bll_user.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 + "修改任务用户:'" + task.TaskUserId + "'成功"; bll_log.Add(logmodel); res.code = 200; res.msg = "修改成功"; } else { res.code = 201; res.msg = "参数不能为空"; } res.code = 200; res.msg = "修改成功"; } catch (Exception ex) { res.code = 500; res.msg = "失败" + ex.Message; } return Ok(res); } } }