public ActionResult Edit(long[] ids) { using (var session = new SessionFactory().OpenSession()) { var model = session.Load<TrainManagementItem>(ids[0]); if (model.ExamStatus != null && !model.ExamStatus.Equals(ExamStatusConst.未考试)) { FlashWarn("您已经完成该考试!"); return Close(); } var q = new Criteria<Exam>(session) .AndIn<TrainManagementItem>(m => m.TrainManId, n => n.TrainManId, n => n.Id == ids[0]); var exam = q.Load(); if (exam == null) { FlashWarn("考试不存在!请联系管理员!"); return Close(); } var models = session.Find<Question>(m => m.ExamId == exam.Id); if (models == null || !models.Any()) { FlashWarn("考试题目未设置!"); return Close(); } Response.Write(string.Format("<script>window.open('Exam?ids={0}','_blank')</script>", ids[0])); return Close(); } }
/* [Priviledge(Name = "查看培训试卷评改", IsEntry = true, Position = 15)] public ActionResult Details(long[] ids) { if (ids.Length == 0) { FlashWarn("请选择要操作的记录。"); return Close(); } using (var session = new SessionFactory().OpenSession()) { var models = session.Find<ExamAnswer>(m => m.Id.In(ids)); if (models.Count == 0) { FlashWarn("没有可以查看的记录。"); return Close(); } return View(models); } }*/ public ActionResult Exam(long[] ids) { using (var session = new SessionFactory().OpenSession()) { var q = new Criteria<Exam>(session) .AndIn<TrainManagementItem>(m => m.TrainManId, n => n.TrainManId, n => n.Id == ids[0]); var exam = q.Load(); if (exam == null) { FlashWarn("考试不存在!请联系管理员!"); return Close(); } ViewData["ExamContent"] = exam.AnswerHtmlContent; var models = session.Find<ExamAnswer>(m => m.TrainManagementItemId == ids[0]); if (models == null || !models.Any()) { FlashWarn("用户答题记录不在在!请联系管理员!"); return Close(); } return View(models); } }
public ActionResult Login(FormCollection collection) { Reset(); var key = collection["key"]; if (!string.IsNullOrEmpty(key)) { return UkeyLogin(key); } var name = collection["username"]; var pwd = collection["password"]; ViewData["username"] = name; Session[Const.CurrentAccountName] = name; if (string.IsNullOrEmpty(name)) { return JsonMessage(100, "请输入用户名!"); } if (string.IsNullOrEmpty(pwd)) { return JsonMessage(100, "请输入密码!"); } using (var session = new SessionFactory().OpenSession()) { var q = new Criteria<Account>(session) .AndIn<User>(m => m.Name, n => n.Code, n => n.Name.Equals(name) || n.Code.Equals(name)) .Limit(2); var uc = q.Count(true); if (uc == 0) { FlashFailureAndLog("用户名或者密码不正确", name); return JsonMessage(100, "用户名或者密码不正确,请重新输入!"); } if (uc > 1) { FlashFailureAndLog("用户身份不唯一", name); return JsonMessage(100, "用户身份不唯一,请联系管理员解决!"); } var account = q.Load(); if (account == null) { FlashFailureAndLog("读取用户数据失败", name); return JsonMessage(100, "读取用户数据失败,请联系管理员解决!"); } // 禁用的用户 if (account.Status == -1) { FlashFailureAndLog("你的账户已经被禁用,请联系系统管理员!"); return JsonMessage(100, "你的账户已经被禁用,请联系管理员解决!"); } // 未初始化的用户,使用验证码登录 if (account.Status == 0) { if (!pwd.Equals(account.Flag)) { FlashFailureAndLog("验证码不正确,请重新输入!"); return JsonMessage(100, "验证码不正确,请重新输入!"); } Session[Const.CurrentAccountId] = account.Id; Session[Const.CurrentAccountName] = name; FormsAuthentication.SetAuthCookie(account.Name, false); var resetPasswordUrl = "/base/profile/resetpassword?ReturnUrl=" + Request.Params["ReturnUrl"]; WriteSuccessLog("初次登录,账户初始化!"); return JsonMessage(200, "账户初始化,请稍候...", resetPasswordUrl); } // 已经初始化的用户,使用密码登录 if (!account.AuthPassword(pwd)) { FlashFailureAndLog("用户名密码验证不正确,请重新输入!"); return JsonMessage(100, "用户名密码验证不正确,请重新输入!"); } Session[Const.CurrentAccountId] = account.Id; Session[Const.CurrentAccountName] = name; FormsAuthentication.SetAuthCookie(account.Name, true); account.LastLoginAt = DateTime.Now; account.LoginCount++; if (!session.Update(account)) { FlashFailureAndLog("更新用户登录记录出错!"); return JsonMessage(100, "更新用户登录记录出错,请联系管理员解决!"); } WriteSuccessLog("登录", account); var url = Request.Params["ReturnUrl"]; if (string.IsNullOrEmpty(url)) { url = FormsAuthentication.DefaultUrl; } return JsonMessage(200, "验证成功,请稍候...", url); } }
public User GetProfile() { if (User == null) { Criteria<User> q = new Criteria<User>().Where(m => m.Name.Equals(Name)); User = q.Load(); } return User; }
public static bool IsWarehouseMgr(string accountNo) { if (string.IsNullOrEmpty(accountNo)) return false; var query = new Criteria<User>().Where(m => m.Name.Equals(accountNo)).AndIn(m => m.Name, n => n.Name, new Criteria<Account>().AndIn(p => p.Id, q => q.AccountId, new Criteria<AccountRoleRef>().AndIn<Role>(x => x.RoleId, y => y.Id, y => y.Name.Include("库管员")))); return query.Load() != null; }