/// <summary> /// 根据教务网账号获取姓名 /// </summary> /// <param name="account"></param> /// <param name="name"></param> /// <returns></returns> public QssResult QssGetNameByAccount(string account, out string name) { QssResult result = QssGetUserByAccount(account, out User user); name = result == QssResult.Success ? user.Name : ""; return(result); }
/// <summary> /// 根据邮箱获取账号 /// </summary> /// <param name="email">邮箱</param> /// <param name="account">返回的账号</param> /// <returns></returns> public QssResult QssGetAccountByEmail(string email, out string account) { QssResult result = QssGetUserByEmail(email, out User user); account = result == QssResult.Success ? user.Account : ""; return(result); }
/// <summary> /// Content通用返回方法 /// </summary> /// <param name="result">处理结果</param> /// <param name="message">处理结果信息</param> /// <param name="successUrl">成功消息/跳转链接</param> /// <returns></returns> protected ActionResult QssContentCommonReturn(QssResult result, string message, string failUrl, string successUrl) { return(Json( result == QssResult.Error ? RedirectToAction("LogOff", "Account") as ActionResult : result == QssResult.Fail ? Content(QssReturnHepler.QssGetReturnContent(message, failUrl)) : Content(QssReturnHepler.QssGetReturnContent(message, successUrl)) )); }
/// <summary> /// 创建投票 /// </summary> /// <param name="content">投票内容</param> /// <param name="message">处理结果信息</param> /// <returns></returns> public QssResult QssCreateVote(string content, out string message) { // 获取当前登录用户 QssResult result = DbSession.UserDal.QssGetUserByAccount(User.Identity.Name, out User user); if (result != QssResult.Success) { message = "获取当前用户失败!"; return(QssResult.Error); } // 校验邮箱 if (!user.QssCheckHaveEmail()) { message = "未绑定邮箱!"; return(QssResult.Fail); } // 每人每天只能添加3份投票 if (user.LastAddVoteTime.AddDays(1) > DateTime.Now && user.AddVoteNum >= 3) { message = "添加投票失败,每人每天只能添加3份投票!"; return(QssResult.Error); } // 获取投票内容 JObject voteRoot = (JObject)JsonConvert.DeserializeObject(content); // 全局变量 JObject voteGlobal = (JObject)voteRoot["Global"]; // 创建投票 result = QssCreateVoteGlobal(voteGlobal, user, out Vote vote, out message); if (result != QssResult.Success) { return(result); } // 创建选项 JArray voteOption = (JArray)voteRoot["Option"]; result = new VoteOptionService().QssCreateVoteOption(voteOption, user, vote, out message); if (result != QssResult.Success) { return(result); } // 保存投票内容 result = QssCreateVoteContent(vote, out message); if (result != QssResult.Success) { return(result); } // 发送站内信和邮件 return(new QssSendQvLetterEmail <Vote>(vote).Send(out message)); }
/// <summary> /// 创建问卷 /// Error:跳转 /// </summary> /// <param name="content">问卷内容</param> /// <param name="message">处理结果信息</param> /// <returns></returns> public QssResult QssCreateQues(string content, out string message) { // 获取当前登录用户 QssResult result = DbSession.UserDal.QssGetUserByAccount(User.Identity.Name, out User user); if (result != QssResult.Success) { message = "获取当前用户失败!"; return(QssResult.Error); } if (!user.QssCheckHaveEmail()) { message = "未绑定邮箱!"; return(QssResult.Fail); } // 每人每天只能添加3份问卷 if (user.LastAddQuesTime.AddDays(1) > DateTime.Now && user.AddQuesNum >= 3) { message = "添加问卷失败,每人每天只能添加3份问卷!"; return(QssResult.Error); } // 获取问卷内容 JObject quesRoot = (JObject)JsonConvert.DeserializeObject(content); // 全局变量 JObject quesGlobal = (JObject)quesRoot["Global"]; // 创建问卷 result = QssCreateQuesGlobal(quesGlobal, user, out Question question, out message); if (result != QssResult.Success) { return(result); } // 创建题目 JArray quesSubject = (JArray)quesRoot["Subjects"]; result = new QuesSubjectService().QssCreateQuesSubject(quesSubject, user, question, out message); if (result != QssResult.Success) { return(result); } // 保存问卷内容 result = QssCreateQuesContent(question, out message); if (result != QssResult.Success) { return(result); } // 发送站内信和邮件 return(new QssSendQvLetterEmail <Question>(question).Send(out message)); }
public ActionResult Login(LoginModel model, string returnUrl) { ViewBag.ReturnUrl = returnUrl; if (ModelState.IsValid) { // 若是超级管理员 // 因为超级管理员的账号不是教务网账号,是单独设置的,所以需要单独处理 if (model.Account == QssEnvironment.AdministratorAccount) { QssResult result = AdministratorLogin(model.Password, out string _result); if (result != QssResult.Success) { ModelState.AddModelError("", _result); return(View()); } return(Redirect(_result)); } // 模拟登陆确认用户合法 var login = new QssSicauLoginHelper(); var userType = model.Account.Length >= 8 ? UserType.S : UserType.T; try { if (login.Login(model.Account, model.Password, userType)) { // 账号密码正确 // 开始更新用户信息 var result = UserService.QssUpdateUserInfo(login, userType, out User user); if (result != QssResult.Success) { QssLogHelper.Log("更新用户信息失败", "用户登录时,更新用户信息失败!用户:" + model.Account, QssLogType.Error, $"{model.Account}({user.Name})"); ModelState.AddModelError("", "更新用户信息失败!请重试."); return(View(model)); } // 更新用户信息成功 // 开始处理登录请求 LoginHandle(user.Account, user.Role.Name + "|" + user.Name + "|" + user.Id); QssLogHelper.Log("登录成功", "登录成功!", QssLogType.Info, $"{model.Account}({user.Name})"); // 跳转到AutoDealOrg进行自动加入或退出组织处理 return(RedirectToAction("AutoDealOrg", "Account", new { returnUrl = returnUrl })); } } catch (Exception exception) { ModelState.AddModelError("", "登录教务网失败!" + exception.Message); QssLogHelper.Log("更新用户信息失败", "用户登录教务网失败!用户:" + model.Account, QssLogType.Error, exception); return(View(model)); } // 账号密码错误 ModelState.AddModelError("", "登录失败,账号密码错误!或是教务网未评教,请评教后请重试."); return(View(model)); } return(View(model)); }
/// <summary> /// 保存填写投票内容 /// </summary> /// <param name="content">投票内容</param> /// <param name="message">处理后的结果信息</param> /// <returns></returns> public QssResult QssSaveVote(string content, out string message) { JObject voteRoot = (JObject)JsonConvert.DeserializeObject(content); int voteId = Convert.ToInt32(voteRoot["Id"]); // 查看填写问卷权限 if (CheckWtAuth(voteId, out Vote vote, out message) != QssResult.Success) { return(QssResult.Fail); } // 投票状态 if (vote.State != QssQuesAndVoteState.Write) { message = "投票已结束,不能填写!"; return(QssResult.Fail); } // 获取当前用户 QssResult result = DbSession.UserDal.QssGetUserByAccount(User.Identity.Name, out User user); if (result != QssResult.Success) { message = "获取当前用户失败!"; QssLogHelper.Log("没有获取到当前用户", "在保存填写的问卷时,没有获取到当前用户", QssLogType.Warn); return(QssResult.Error); } // 校验权限 if (vote.VoteWtOrganizes.Intersect(user.JoinOrganizes).Count() <= 0) { message = "权限不够"; return(QssResult.Fail); } // 保存选项 result = new VoteOptionService().QssSaveVoteWtLog((JArray)voteRoot["Option"], vote, out List <GetWtVoteOption> wtOptions, out message); if (result != QssResult.Success) { return(result); } // 保存结果 result = QssSaveResult(vote, out message); if (result != QssResult.Success) { return(result); } // 保存填写记录 return(new WtLogService().QssSaveVoteWtLog(vote, wtOptions.ToArray(), user, out message)); }
public ActionResult Edit(int id, string content) { // 先删除 QssResult result = VoteService.QssDeleteVote(id, out string message); if (result != QssResult.Success) { return(Json(new QssJsonResult() { Message = message, Type = QssJsonResultType.Fail.ToString() })); } // 再创建 return(QssJsonCommonReturn(VoteService.QssCreateVote(content, out message), "/Users/VoteList")); }
/// <summary> /// Json通用返回方法 /// </summary> /// <param name="result">处理结果</param> /// <param name="message">处理结果信息</param> /// <param name="successUrl">成功消息/跳转链接</param> /// <returns></returns> protected ActionResult QssJsonCommonReturn(QssResult result, string message, string successUrl) { return(Json( result == QssResult.Error ? new QssJsonResult() { Type = QssJsonResultType.Danger.ToString(), Message = "/Account/LogOff" } : result == QssResult.Fail ? new QssJsonResult() { Type = QssJsonResultType.Fail.ToString(), Message = message } : new QssJsonResult() { Type = QssJsonResultType.Success.ToString(), Message = successUrl ?? message } )); }
/// <summary> /// 创建问卷题目 /// </summary> /// <param name="subject">问卷题目</param> /// <param name="user"></param> /// <param name="message"></param> /// <returns></returns> public QssResult QssCreateQuesSubject(JArray subjects, User user, Question question, out string message) { foreach (JObject subject in subjects) { // 创建题目 QuesSubject quesSubject = new QuesSubject() { Content = (string)subject["Content"], Question = question }; // 题目类型 string type = (string)subject["Type"]; quesSubject.Type = // 单选题 type == QssQuesSubType.Radio.ToString() ? QssQuesSubType.Radio : // 多选题 type == QssQuesSubType.Multiselect.ToString() ? QssQuesSubType.Multiselect : // 主观题 type == QssQuesSubType.Subjective.ToString() ? QssQuesSubType.Subjective : // 判断题 QssQuesSubType.Judge; // 保存题目 QssResult result = QssSaveSubject(quesSubject, out message); if (result != QssResult.Success) { return(result); } // 创建选项 if (quesSubject.Type == QssQuesSubType.Subjective) { continue; // 主观题无选项 } result = new QuesOptionService().QssCreateQuesOption((JArray)subject["Options"], user, quesSubject, out message); if (result != QssResult.Success) { return(result); } } message = "创建问卷题目成功!"; return(QssResult.Success); }
public ActionResult Create(CreateOrgModel model) { // 组织类型 QssOrganizeType type = model.OrgType == QssOrganizeType.Association.ToString() ? QssOrganizeType.Association : model.OrgType == QssOrganizeType.Campus.ToString() ? QssOrganizeType.Campus : model.OrgType == QssOrganizeType.Class.ToString() ? QssOrganizeType.Class : model.OrgType == QssOrganizeType.College.ToString() ? QssOrganizeType.College : model.OrgType == QssOrganizeType.Department.ToString() ? QssOrganizeType.Department : model.OrgType == QssOrganizeType.Major.ToString() ? QssOrganizeType.Major : model.OrgType == QssOrganizeType.School.ToString() ? QssOrganizeType.School : QssOrganizeType.Temp; if (ModelState.IsValid) { QssResult result = OrganizeService.QssCreateOrganize(type, model.OrgName, model.Password, model.ComPassword, out string message); switch (result) { case QssResult.Success: return(Content(QssReturnHepler.QssGetReturnContent(message, "/Users/OrganizeList"))); case QssResult.Fail: return(Content(QssReturnHepler.QssGetReturnContent(message, "/Organize/Create"))); case QssResult.Error: default: return(RedirectToAction("LogOff", "Account")); } } string errmsg = ""; foreach (var item in ModelState.Values) { foreach (var _item in item.Errors) { errmsg += _item.ErrorMessage; } } return(Content(QssReturnHepler.QssGetReturnContent(errmsg, "/Organize/Create"))); }
/// <summary> /// 修改密码 /// </summary> /// <param name="oldPasswd">旧密码</param> /// <param name="passwd">新密码</param> /// <returns></returns> public QssResult ChangePassword(string oldPasswd, string passwd, out string _result) { QssResult result = GetAdministrator(out AdministratorModel admin); // 获取成功 if (result == QssResult.Success) { // 旧密码正确 if (admin.Password == QssMD5Helper.QssGetMd5(admin.Account, oldPasswd)) { try { var config = DbSession.WebConfigDal.GetEntities(p => true).FirstOrDefault(); config.Password = QssMD5Helper.QssGetMd5(admin.Account, passwd); DbSession.WebConfigDal.Update(config); // 保存新密码 DbSession.SaveChanges(); // 修改密码成功 _result = "修改密码成功!"; return(QssResult.Success); } catch (Exception exception) { // 保存失败 QssLogHelper.Log("修改密码错误", "超级管理员在修改密码时保存新密码出现错误!错误原因: " + exception.Message, QssLogType.Error, exception); _result = "修改密码失败!请重试."; return(QssResult.Fail); } } // 旧密码错误 QssLogHelper.Log("管理员密码错误", "超级管理员在修改密码,但是旧密出现错误! ", QssLogType.Warn); _result = "旧密码错误!登录已被注销."; return(QssResult.Error); } // 没有正确获取到管理员 _result = "系统出现严重错误!请查看日志."; return(QssResult.Error); }
public ActionResult RegisterEmail(RegisterEmailModel model) { if (ModelState.IsValid) { string code = Guid.NewGuid().ToString().Replace("-", ""); string url = new UriBuilder(Request.Url) { Path = Url.Action("ActivateEmail", "Account", new { id = code }), Query = "" }.ToString(); QssResult result = UserService.QssRegisterEmail(model.Email, url, code, out string _result); if (result == QssResult.Success) { return(Content(QssReturnHepler.QssGetReturnContent(_result, "/Users"))); } ModelState.AddModelError("", _result); return(View(model)); } return(View(model)); }
/// <summary> /// 获取最新问卷/投票 /// </summary> /// <param name="searchStr">搜索词</param> /// <returns></returns> public IQueryable <NewQuesAndVoteModel> GetNewQuesVote(string searchStr) { // 最新问卷/投票 var newQuesVote = CurrentDal.GetEntities(p => p.State == QssQuesAndVoteState.End); // 是否统计最新问卷/投票 bool isCount = false; // 已登录 if (HttpContext.Current.Request.IsAuthenticated) { // 获得已登录用户 QssResult result = DbSession.UserDal.QssGetUserByAccount(User.Identity.Name, out User user); // 获取用户成功 if (result == QssResult.Success) { // 获得该用户已加入的组织 var joinOrganize = user.JoinOrganizes.Select(x => x.Id); // 已加入组织大于0 if (joinOrganize.Any()) { result = DbSession.OrganizeDal.QssGetSchool(out Organize isPublic); // 学校组织存在 if (result == QssResult.Success) { // 最新问卷/投票 // 条件:已结束,结果对全校公开或者对自己加入的组织公开 int shId = isPublic.Id; newQuesVote = newQuesVote.Where(p => p.QuesRdOrganizes.Any(x => x.Id == shId) || p.QuesRdOrganizes.Where(x => joinOrganize.Contains(x.Id)).Any()).OrderByDescending(p => p.Id); } // 学校组织不存在或有多个 else { // 最新问卷/投票 // 条件:已结束,结果对自己加入的组织公开 newQuesVote = newQuesVote.Where(p => p.QuesRdOrganizes.Where(x => joinOrganize.Contains(x.Id)).Any()).OrderByDescending(p => p.Id); } // 标记为已统计 isCount = true; } } } // 未统计最新问卷/投票(未登录或者已登录但是加入的组织数为零) if (!isCount) { QssResult result = DbSession.OrganizeDal.QssGetSchool(out Organize isPublic); // 学校组织存在 if (result == QssResult.Success) { // 最新问卷/投票 // 条件:已结束, 结果对全校公开 int shId = isPublic.Id; newQuesVote = newQuesVote.Where(p => p.QuesRdOrganizes.Any(x => x.Id == shId)).OrderByDescending(p => p.Id); } // 学校组织不存在或有多个 else { newQuesVote = newQuesVote.Where(p => false); } } // 搜索 if (!string.IsNullOrWhiteSpace(searchStr)) { newQuesVote = newQuesVote.Where(p => p.Title.Contains(searchStr)); } return(newQuesVote.Select(x => new NewQuesAndVoteModel { Id = x.Id, Title = x.Title, BeginTime = x.BeginTime, EndTime = x.EndTime, JoinNum = x.JoinNum, WaiverNum = x.WaiverNum })); }
/// <summary> /// 删除问卷 /// </summary> /// <param name="qid">问卷Id</param> /// <param name="message">处理后的结果信息</param> /// <returns></returns> public QssResult QssDeleteQues(int qid, out string message) { var question = CurrentDal.GetEntity(qid); if (question == null) { message = "没有该问卷"; QssLogHelper.Log("没有该问卷", $"删除问卷 {qid} 时,找不到该问卷", QssLogType.Error); return(QssResult.Fail); } // 获取当前用户 var rel = DbSession.UserDal.QssGetUserByAccount(User.Identity.Name, out User user); if (user == null) { message = "获取当前用户失败!"; QssLogHelper.Log("获取用户失败", $"删除问卷 {qid} 时,没有获取到当前用户。", QssLogType.Error); return(QssResult.Fail); } // 校验权限 if (question.Creator.Id != user.Id) { message = "没有权限!"; QssLogHelper.Log("权限不够", $"删除问卷 {qid} 时,没有获取到当前用户。", QssLogType.Error); return(QssResult.Fail); } // 删除题目和题目选项 foreach (var subject in question.QuesSubjects) { // 删除题目选项 if (subject.Type != QssQuesSubType.Subjective) { DbSession.QuesOptionDal.DeleteRange(subject.QuesOptions); QssResult result = QssSaveDeleteQues("问卷题目选项", out message); if (result != QssResult.Success) { return(result); } } } // 删除题目 DbSession.QuesSubjectDal.DeleteRange(question.QuesSubjects); QssResult _result = QssSaveDeleteQues("问卷题目", out message); if (_result != QssResult.Success) { return(_result); } // 删除问卷相关的记录 DbSession.WtLogDal.DeleteRange(DbSession.WtLogDal.GetEntities(p => p.Type == QssWtLogType.Question && p.QuesVoteId == question.Id)); _result = QssSaveDeleteQues("问卷填写记录", out message); if (_result != QssResult.Success) { return(_result); } // 删除问卷 CurrentDal.Delete(question); _result = QssSaveDeleteQues("问卷", out message); if (_result != QssResult.Success) { return(_result); } // 调整次数 user.AddQuesNum = user.AddQuesNum > 0 ? user.AddQuesNum - 1 : 0; DbSession.UserDal.Update(user); _result = QssSaveDeleteQues("问卷填写次数", out message); if (_result != QssResult.Success) { return(_result); } message = "删除问卷成功!"; return(QssResult.Success); }
/// <summary> /// 删除投票 /// </summary> /// <param name="vid">投票Id</param> /// <param name="message">处理后的结果信息</param> /// <returns></returns> public QssResult QssDeleteVote(int vid, out string message) { var vote = CurrentDal.GetEntity(vid); if (vote == null) { message = "没有该投票"; QssLogHelper.Log("没有该投票", $"删除投票 {vid} 时,找不到该投票", QssLogType.Error); return(QssResult.Fail); } // 获取当前用户 var rel = DbSession.UserDal.QssGetUserByAccount(User.Identity.Name, out User user); if (user == null) { message = "获取当前用户失败!"; QssLogHelper.Log("获取用户失败", $"删除投票 {vid} 时,没有获取到当前用户。", QssLogType.Error); return(QssResult.Fail); } // 校验权限 if (vote.Creator.Id != user.Id) { message = "没有权限!"; QssLogHelper.Log("权限不够", $"删除投票 {vid} 时,没有获取到当前用户。", QssLogType.Error); return(QssResult.Fail); } // 删除选项 DbSession.VoteOptionDal.DeleteRange(vote.VoteOptions); QssResult _result = QssSaveDeleteVote("题目", out message); if (_result != QssResult.Success) { return(_result); } // 删除投票相关的记录 DbSession.WtLogDal.DeleteRange(DbSession.WtLogDal.GetEntities(p => p.Type == QssWtLogType.Vote && p.QuesVoteId == vote.Id)); QssResult __result = QssSaveDeleteVote("投票填写记录", out message); if (__result != QssResult.Success) { return(__result); } // 删除投票 CurrentDal.Delete(vote); __result = QssSaveDeleteVote("投票", out message); if (__result != QssResult.Success) { return(__result); } // 调整次数 user.AddVoteNum = user.AddVoteNum > 0 ? user.AddVoteNum - 1 : 0; DbSession.UserDal.Update(user); __result = QssSaveDeleteVote("投票填写次数", out message); if (__result != QssResult.Success) { return(__result); } message = "删除投票成功!"; return(QssResult.Success); }
/// <summary> /// 保存问卷题目 /// </summary> /// <param name="question">当前问卷</param> /// <param name="subjects">题目列表</param> /// <param name="message">处理结果信息</param> /// <returns></returns> public QssResult QssSaveQuesWtLog(JArray subjects, Question question, out List <GetWtQuesSubject> wtSubjects, out string message) { // 存放题目和题目列表的临时变量 var getWtSubjects = new List <GetWtQuesSubject>(); foreach (JObject subject in subjects) { // 获取题目Id int subjectId = Convert.ToInt32(subject["Id"]); // 获取该题目 var quesSubject = question.QuesSubjects.FirstOrDefault(s => s.Id == subjectId); if (quesSubject == null) { wtSubjects = null; message = "获取题目失败!"; QssLogHelper.Log("获取题目失败", "在保存填写记录时,获取题目Id失败", QssLogType.Error); return(QssResult.Fail); } // 当前题目信息 var wtQuesSubject = new GetWtQuesSubject { Id = quesSubject.Id, Content = quesSubject.Content, Num = quesSubject.QuesOptions.Count(), Type = quesSubject.Type.ToString() }; // 获取题目类型 string subjectType = (string)subject["Type"]; if (subjectType == QssQuesSubType.Subjective.ToString()) { // 获取主观题答案 string answer = (string)subject["Content"]; if (string.IsNullOrWhiteSpace(quesSubject.Answer)) { quesSubject.Answer = answer; } else { quesSubject.Answer += "@@@@@" + answer; } // 保存主观题答案 try { DbSession.QuesSubjectDal.Update(quesSubject); DbSession.SaveChanges(); // 保存成功 wtQuesSubject.SubAnswers = answer; getWtSubjects.Add(wtQuesSubject); continue; } catch (Exception exception) { // 保存失败 wtSubjects = null; message = "保存主观题答案失败! 原因:" + exception.Message; QssLogHelper.Log("保存答案失败", "在保存填写记录时,保存主观题答案失败", QssLogType.Error, exception); return(QssResult.Fail); } } // 保存选项答案 var quesOptionService = new QuesOptionService(); QssResult result = quesOptionService.QssSaveQuesOption((JArray)subject["Options"], quesSubject, out List <GetWtQuesOption> wtOptions, out message); if (result != QssResult.Success) { wtSubjects = null; return(result); } wtQuesSubject.ObjAnswers = wtOptions.ToArray(); // 获取选项列表 if (quesSubject.Type != QssQuesSubType.Subjective) { var wtQuesOptions = new List <GetQuesOption>(); foreach (var option in quesSubject.QuesOptions) { wtQuesOptions.Add(new GetQuesOption() { Id = option.Id, Content = option.Content }); } wtQuesSubject.Options = wtQuesOptions.OrderByDescending(p => p.Id).ToArray(); getWtSubjects.Add(wtQuesSubject); } } wtSubjects = getWtSubjects.OrderByDescending(p => p.Id).ToList(); message = "保存问卷结果成功!"; return(QssResult.Success); }
/// <summary> /// Json通用返回方法 /// </summary> /// <param name="result">处理结果</param> /// <param name="message">处理结果信息</param> /// <returns></returns> protected ActionResult QssJsonCommonReturn(QssResult result, string message) => QssJsonCommonReturn(result, message, null);
/// <summary> /// 更新用户信息 /// </summary> /// <param name="stuInfo">从教务处获取的,经过封装的用户信息</param> /// <param name="user">更新成功后的该学生信息</param> /// <returns></returns> public QssResult QssUpdateUserInfo(UserInfoHandle userInfo, out User user) { QssResult result = QssGetUserByAccount(userInfo.Account, out user); if (result == QssResult.Error) { // 获取到多个用户 user = null; return(QssResult.Fail); } bool isFirst = false; if (result == QssResult.Fail) { // 第一次登录 // 获取角色 result = new RoleService().QssGetRoleByName(QssRoleType.User.ToString(), out Role role); if (result != QssResult.Success) { user = null; return(QssResult.Fail); } user = new User() { Account = userInfo.Account, Role = role }; isFirst = true; } // 更新信息 if (userInfo.UserType == UserType.S.ToString()) { // 学生 user.Type = UserType.S.ToString(); user.Name = userInfo.Name; user.Campus = userInfo.Campus; user.College = userInfo.College; user.Grade = Convert.ToInt32(userInfo.Grade); user.LoSch = Convert.ToInt32(userInfo.LoSch); user.Class = userInfo.NewClass; //永远获取新班级 user.Major = userInfo.NewMajor; //永远获取新专业 } else { // 教师 user.Type = UserType.T.ToString(); user.Name = userInfo.Name; user.Campus = userInfo.Campus; user.College = userInfo.College; } try { // 写入数据库 if (isFirst) { CurrentDal.Add(user); } else { CurrentDal.Update(user); } DbSession.SaveChanges(); return(QssResult.Success); } catch (Exception exception) { // 写入失败 QssLogHelper.Log("写入用户信息失败", "在写入用户: " + user.Account + " 的用户信息时发生错误! 原因:" + exception.Message, QssLogType.Error, exception); return(QssResult.Fail); } }