Ejemplo n.º 1
0
 public ActionResult Active(FormCollection collection, long[] ids)
 {
     if (ids.Length == 0)
     {
         FlashWarn("请选择要激活的用户。");
         return Close();
     }
     using (var session = new SessionFactory().OpenSession())
     {
         session.BeginTransaction();
         var models = session.Find<User>(m => m.Id.In(ids) && !m.IsActive);
         if (models.Count == 0)
         {
             FlashInfo("你没有选择任何需要激活的用户。");
             return Close();
         }
         foreach (User model in models)
         {
             if (!model.Active(session, CurrentAccountNo))
             {
                 session.Rollback();
                 FlashError("账户激活失败!");
                 return Close();
             }
         }
         session.Commit();
         FlashSuccess("账户激活成功");
         return Close();
     }
 }
 public ActionResult Create(FormCollection collection, long id = 0)
 {
     var model = new TrainManagementItem { TrainManId = id };
     TryUpdateModel(model, collection.ToValueProvider());
     if (!ModelState.IsValid)
     {
         return View(model);
     }
     using (var session = new SessionFactory().OpenSession())
     {
         session.BeginTransaction();
         var trainMan = session.Load<TrainManagement>(id);
         if (trainMan == null)
         {
             FlashError("培训不存在,请联系管理员!");
             return Close();
         }
         model.Year = trainMan.Year;
         model.TrainManName = trainMan.Name;
         model.CreatedAt = DateTime.Now;
         model.CreatedBy = CurrentAccountNo;
         ViewData.Model = model;
         if (session.Create(model))
         {
             session.Commit();
             FlashSuccess("创建记录成功!");
             return Close();
         }
         session.Rollback();
         FlashFailure("创建记录失败!");
         return View();
     }
 }
        public ActionResult Create(FormCollection collection)
        {
            var model = new SchoolSection();
            TryUpdateModel(model, collection.ToValueProvider());
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                if (session.Load<SchoolSection>(m => m.Name.Equals(model.Name)) != null)
                {
                    FlashWarn("校区{0}已经存在,创建失败。", model.Name);
                    return View(model);
                }
                model.CreatedAt = DateTime.Now;
                model.CreatedBy = CurrentAccountNo;
                ViewData.Model = model;

                if (session.Create(model))
                {
                    session.Commit();
                    FlashSuccess("创建校区[{0}]成功!", model.Name);
                    return Close();
                }
                session.Rollback();
                FlashFailure("创建校区[{0}]失败!", model.Name);
                return View();
            }
        }
        public ActionResult Delete(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<TrainNotice>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以删除的培训通知。");
                    return Close();
                }
                var notices = string.Join(", ", models.Select(m => m.Title));

                if (models.Any(model => !session.Delete(model)))
                {
                    session.Rollback();
                    FlashError("删除培训通知{0}失败!", notices);
                    return View(models);
                }
                session.Commit();

                FlashSuccess("删除培训通知{0}成功!", notices);
                return Close();
            }
        }
 public ActionResult Create(FormCollection collection)
 {
     var model = new TrainManagement();
     TryUpdateModel(model, collection.ToValueProvider());
     if (!ModelState.IsValid)
     {
         return View(model);
     }
     using (var session = new SessionFactory().OpenSession())
     {
         session.BeginTransaction();
         model.CreatedAt = DateTime.Now;
         model.CreatedBy = CurrentAccountNo;
         ViewData.Model = model;
         if (session.Create(model))
         {
             session.Commit();
             FlashSuccess("创建记录成功!");
             return Close();
         }
         session.Rollback();
         FlashFailure("创建记录失败!");
         return View();
     }
 }
        public ActionResult Create(FormCollection collection)
        {
            var model = new InstitutionManagement { UploadPerson = CurrentAccountNo.GetName() };
            TryUpdateModel(model, collection.ToValueProvider());
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            using (var session = new SessionFactory().OpenSession())
            {
                for (var i = 0; i < Request.Files.Count; i++)
                {
                    // 检查文件后缀名
                    var file = Request.Files[i];
                    if (file == null || file.ContentLength <= 0) continue;

                    var ext = Path.GetExtension(file.FileName);
                    if (string.IsNullOrEmpty(ext) || (!ext.Equals(".doc") && !ext.Equals(".docx")))
                    {
                        FlashFailure("文件 '{0}' 后缀名不符合要求 (doc,docx)", file.FileName);
                        return View();
                    }
                    var uppath = Server.MapPath("~/upload/");
                    var item = new UploadFile();
                    item.SaveFile(file, uppath, CurrentAccountNo);
                    item.CreateHtml();
                    model.FileId = item.Id;
                    model.FileName = file.FileName;

                }

                session.BeginTransaction();
                model.CreatedAt = DateTime.Now;
                model.CreatedBy = CurrentAccountNo;
                ViewData.Model = model;
                if (session.Create(model))
                {
                    session.Commit();
                    FlashSuccess("创建记录成功!");
                    return Close();
                }
                session.Rollback();
                FlashFailure("创建记录失败!");
                return View();
            }
        }
        public ActionResult Create(FormCollection collection)
        {
            var model = new TrainNeed();
            TryUpdateModel(model, collection.ToValueProvider());
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            using (var session = new SessionFactory().OpenSession())
            {

                session.BeginTransaction();
                var models = session.Find<TrainNeed>(m =>
                        !m.IsCollected && m.Status.Equals(TrainNeedStatus.已提交培训部门) && m.Type.Equals(TrainNeedType.部门));
                if (models == null || !models.Any())
                {
                    FlashWarn("没有未汇总的需求!");
                    return Close();
                }
                foreach (var trainNeed in models)
                {
                    trainNeed.IsCollected = true;
                }
                model.IsCollected = false;
                model.CreatedAt = DateTime.Now;
                model.CreatedBy = CurrentAccountNo;
                model.Type = TrainNeedType.公司;
                ViewData["StaffNeeds"] = models;
                ViewData.Model = model;
                var exist = session.Load<TrainNeed>(m => m.Type.Equals(TrainNeedType.公司) && m.Year.Equals(model.Year));
                if (exist != null)
                {
                    ModelState.AddModelError("Year", "该年度公司培训需求已经存在!");
                    return View(model);
                }
                if (session.Create(model) && session.Update(models))
                {
                    session.Commit();
                    FlashSuccess("创建记录成功!");
                    return Close();
                }
                session.Rollback();
                FlashFailure("创建记录失败!");
                return View();
            }
        }
        public ActionResult Approve(FormCollection collection, long[] ids)
        {
            if (ids == null || ids.Length == 0)
            {
                FlashWarn("请选择要审核的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var model = session.Load<PunishmentDossier>(m => m.Id.In(ids));
                if (model == null)
                {
                    FlashInfo("你没有选择任何可以审核的记录。");
                    session.Rollback();
                    return Close();
                }
                if (!CanApprove(model))
                {
                    FlashWarn("无法审核,请检查所选记录状态!");
                    session.Rollback();
                    return Close();
                }
                TryUpdateModel(model, collection.ToValueProvider());
                if (!ModelState.IsValid)
                {
                    return View("Edit", model);
                }
                model.ApproveState = ApproveStateConst.已审核;
                model.ApprovePerson3 = CurrentAccountNo.GetName();
                model.UpdatedAt = DateTime.Now;
                model.UpdatedBy = CurrentAccountNo;

                if (session.Update(model))
                {
                    FlashSuccess("记录审核成功");
                    session.Commit();
                    return Close();
                }
                FlashFailure("审核失败,请联系管理员!");
                session.Rollback();
                return Close();
            }
        }
        public ActionResult Approve(FormCollection collection, long[] ids)
        {
            if (ids == null || ids.Length == 0)
            {
                FlashWarn("请选择要审核的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<Contract>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以审核的记录。");
                    session.Rollback();
                    return Close();
                }
                if (models.Any(m => !CanApprove(m)))
                {
                    FlashWarn("无法审核,请检查所选记录状态!");
                    session.Rollback();
                    return Close();
                }
                foreach (var model in models)
                {
                    model.State = ContractStateConst.承办部门审核;
                    model.ApproveState = ApproveStateConst.已审核;
                    model.ApprovePerson1 = CurrentAccountNo.GetName();
                    model.UpdatedAt = DateTime.Now;
                    model.UpdatedBy = CurrentAccountNo;
                }

                if (session.Update(models))
                {
                    FlashSuccess("记录审核成功");
                    session.Commit();
                    return Close();
                }
                FlashFailure("审核失败,请联系管理员!");
                session.Rollback();
                return Close();
            }
        }
        public ActionResult Approve(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要审核的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<StandardFile>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以审核的记录。");
                    return Close();
                }

                if (!models.All(CanApprove))
                {
                    FlashInfo("所选文件状态有误,请检查!");
                    return Close();
                }
                var displays = string.Join(", ", models.Select(m => m.FileName));

                foreach (var model in models)
                {
                    model.ApproveState = ApproveStateConst.已审核;
                    model.UpdatedAt = DateTime.Now;
                    model.UpdatedBy = CurrentAccountNo;
                }
                if (!session.Update(models))
                {
                    session.Rollback();
                    FlashError("审核记录{0}失败!", displays);
                    return View(models);
                }
                session.Commit();
                FlashSuccess("审核记录{0}成功!", displays);
                return Close();

            }
        }
Ejemplo n.º 11
0
        public override DataTable Execute()
        {
            ParameterInfo para = (ParameterInfo)this._hs["Name"];

            using (SessionFactory sf = new SessionFactory())
            {
                sf.BeginTransaction();

                DataTable dt = sf.CreateQuery("SELECT * FROM TEST WHERE NAME = '" + para.Value + "'");

                List <Test> lst = sf.CreateQuery <Test>("SELECT * FROM TEST");

                ParameterInfo[] pi = { new ParameterInfo("Name", "W01", typeof(string), Direction.Input) };
                sf.CreateStoredProcedure("testfunc", true, pi);

                sf.Commit();

                return(dt);
            }
        }
        public ActionResult Create(FormCollection collection)
        {
            var model = new TrainNeed();
            TryUpdateModel(model, collection.ToValueProvider());
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();

                model.StaffCode = CurrentAccountNo;
                model.StaffName = CurrentAccountNo.GetName();
                var dept = new Criteria<Department>(session)
                   .AndIn<User>(m => m.Id, n => n.DepartmentId, m => m.Code.Equals(CurrentAccountNo)).Load();
                model.DeptId = dept != null ? dept.Id : 0;
                model.Dept = dept != null ? dept.Name : null;
                model.IsCollected = false;
                model.CreatedAt = DateTime.Now;
                model.CreatedBy = CurrentAccountNo;
                model.Type = TrainNeedType.员工;
                model.Status = "";
                var exist = session.Load<TrainNeed>(m => m.Type.Equals(TrainNeedType.员工) && m.DeptId.Equals(model.DeptId) && m.Year.Equals(model.Year) && m.StaffCode.Equals(CurrentAccountNo));
                if (exist != null)
                {
                    ModelState.AddModelError("Year", "您该年度需求已经存在!");
                    return View(model);
                }
                ViewData.Model = model;
                if (session.Create(model))
                {
                    session.Commit();
                    FlashSuccess("创建记录成功!");
                    return Close();
                }
                session.Rollback();
                FlashFailure("创建记录失败!");
                return View();
            }
        }
        public ActionResult Approve(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要审核的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<TrainExperience>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以审核的记录。");
                    return Close();
                }
                if (!models.All(CanApprove))
                {
                    FlashWarn("所选记录不能审核,请检查记录状态!");
                    return Close();
                }
                foreach (var item in models)
                {
                    item.ApproveStatus = ApproveStateConst.已审核;
                    item.UpdatedAt = DateTime.Now;
                    item.UpdatedBy = CurrentAccountNo;
                }

                if (session.Update(models))
                {
                    session.Commit();
                    FlashSuccess("审核成功");
                    return Close();
                }
                session.Rollback();
                FlashError("审核失败,请联系管理员!");
                return Close();
            }
        }
 public ActionResult Create(FormCollection collection)
 {
     var view = new TrainExperienceView();
     TryUpdateModel(view, collection.ToValueProvider());
     if (!ModelState.IsValid)
     {
         return View(view);
     }
     using (var session = new SessionFactory().OpenSession())
     {
         session.BeginTransaction();
         var model = new TrainExperience
         {
             CreatedAt = DateTime.Now,
             CreatedBy = CurrentAccountNo,
             TrainManItemId = view.TrainManItemId,
             Experience = view.Experience,
             Status = "",
             ApproveStatus = ""
         };
         if (null != session.Load<TrainExperience>(m => m.TrainManItemId.Equals(model.TrainManItemId)))
         {
             ModelState.AddModelError("TrainManName", "该培训心得已经存在!");
             return View(view);
         }
         ViewData.Model = view;
         if (session.Create(model))
         {
             session.Commit();
             FlashSuccess("创建记录成功!");
             return Close();
         }
         session.Rollback();
         FlashFailure("创建记录失败!");
         return View();
     }
 }
Ejemplo n.º 15
0
        /// <summary>
        /// 重置导航
        /// </summary>
        /// <returns></returns>
        internal static bool ResetNavigation(string navigationContainerFilePath)
        {
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var act = new SystemActivity();
                try
                {
                    // 准备工作1:备份原导航名(用于恢复授权)
                    act.BackupNavNames(session);

                    // 准备工作2:清空原导航
                    act.TruncateNavigation(session);

                    // 准备工作3:注册顶级导航分类
                    var container = act.RegisterNavigationContainer(session, navigationContainerFilePath);

                    // 注册导航
                    act.RegisterNavigation(session, container);

                    // 后置工作1:给root账户授权
                    if (!AssignPriviledgeToRoot(session))
                    {
                        throw new Exception("授权给root账户失败");
                    }

                    // 后置工作2:清理授权表中不存在的导航
                    act.CleanNavigationPriviledge(session);

                    // 后置工作3:清理账户授权表中不存在的导航
                    act.CleanAccountNavigationRef(session);

                    session.Commit();
                    return true;
                }
                catch (Exception e)
                {
                    session.Rollback();
                    act._logger.Error(e.Message);
                    return false;
                }
            }
        }
        public ActionResult Delete(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<StandardFile>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以删除的记录。");
                    return Close();
                }
                if (models.Any(m => !m.CreatedBy.Equals(CurrentAccountNo)))
                {
                    FlashInfo("你不是创建人,不能删除{0}", string.Join(",", models.Where(m => !m.CreatedBy.Equals(CurrentAccountNo)).Select(m => m.FileName)));
                    return Close();
                }

                var displays = string.Join(", ", models.Select(m => m.FileName));

                if (models.Any(model => !model.DeleteFile()) || !session.Delete(models))
                {
                    session.Rollback();
                    FlashError("删除记录{0}失败!", displays);
                    return View(models);
                }
                session.Commit();

                FlashSuccess("删除记录{0}成功!", displays);
                return Close();

            }
        }
        public ActionResult Exam(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("考试不存在!请联系管理员!");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();

                var models = session.Find<ExamAnswer>(m => m.TrainManagementItemId == ids[0]);
                if (models == null || !models.Any())
                {
                    FlashWarn("用户答题记录不在在!请联系管理员!");
                    return Close();
                }
                var trainManagementItem = session.Load<TrainManagementItem>(ids[0]);
                if (trainManagementItem == null)
                {
                    FlashWarn("用户答题记录不在在!请联系管理员!");
                    return Close();
                }
                trainManagementItem.ExamScore = 0;
                foreach (var question in models)
                {
                    var score = GetDbQueryPara(question.Id + "");
                    try
                    {
                        question.Score = score==null||score.Equals("")?0:Decimal.Parse(score);
                        trainManagementItem.ExamScore += question.Score;
                    }
                    catch (Exception)
                    {

                        FlashError("评分输入错误!");
                        return Close();
                    }
                }

                trainManagementItem.ExamStatus = ExamStatusConst.已评阅;
                trainManagementItem.UpdatedAt = DateTime.Now;
                trainManagementItem.UpdatedBy = "SYSTEM";
                if (session.Update(trainManagementItem) && session.Update(models))
                {
                    session.Commit();
                    Response.Write("<script>window.close()</script>");
                    return Close();
                }
                session.Rollback();
                FlashError("提交试卷不成功,请联系管理员!");
                return View(models);
            }
        }
        public ActionResult Delete(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<SchoolSection>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以删除的校区。");
                    return Close();
                }
                var schoolSections = string.Join(", ", models.Select(m => m.Name));

                foreach (var model in models)
                {
                    if (!session.Delete(model))
                    {
                        session.Rollback();
                        FlashError("删除校区{0}失败!", schoolSections);
                        return View(models);
                    }
                }
                session.Commit();

                FlashSuccess("删除校区{0}成功!", schoolSections);
                return Close();
            }
        }
Ejemplo n.º 19
0
        public ActionResult SubmitToLeader(FormCollection collection, long[] ids)
        {
            if (ids == null || ids.Length == 0)
            {
                FlashWarn("请选择要提交的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<Dossier>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以提交的记录。");
                    session.Rollback();
                    return Close();
                }
                if (models.Any(m => !CanSubmitToLeader(m)))
                {
                    FlashWarn("无法提交,请检查所选记录状态!");
                    session.Rollback();
                    return Close();
                }
                foreach (var model in models)
                {
                    model.State = DossierStateConst.专卖科审核;
                    model.ApproveState = ApproveStateConst.待审核;
                    model.UpdatedAt = DateTime.Now;
                    model.UpdatedBy = CurrentAccountNo;
                }

                if (session.Update(models))
                {
                    FlashSuccess("提交成功");
                    session.Commit();
                    return Close();
                }
                FlashFailure("提交失败,请联系管理员!");
                session.Rollback();
                return Close();
            }
        }
        public ActionResult Create(FormCollection collection)
        {
            var model = new TrainNeed();
            TryUpdateModel(model, collection.ToValueProvider());
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            using (var session = new SessionFactory().OpenSession())
            {

                session.BeginTransaction();
                var dept = new Criteria<Department>(session)
                  .AndIn<User>(m => m.Id, n => n.DepartmentId, m => m.Code.Equals(CurrentAccountNo)).Load();
                var models = session.Find<TrainNeed>(m => !m.IsCollected && m.Status.Equals(TrainNeedStatus.已提交部门负责人) && m.DeptId == dept.Id && m.Type.Equals(TrainNeedType.员工));
                if (models == null || !models.Any())
                {
                    FlashWarn("没有未汇总的需求!");
                    return Close();
                }
                foreach (var trainNeed in models)
                {
                    trainNeed.IsCollected = true;
                }
                model.DeptId = dept != null ? dept.Id : 0;
                model.Dept = dept != null ? dept.Name : null;
                model.IsCollected = false;
                model.CreatedAt = DateTime.Now;
                model.CreatedBy = CurrentAccountNo;
                model.Type = TrainNeedType.部门;
                ViewData.Model = model;
                ViewData["StaffNeeds"] = models;
                var exist = session.Load<TrainNeed>(m => m.Type.Equals(TrainNeedType.部门) && m.DeptId.Equals(model.DeptId) && m.Year.Equals(model.Year));
                if (exist != null)
                {
                    ModelState.AddModelError("Year", "本部门该年度部门培训需求已经存在!");
                    return View(model);
                }
                if (session.Create(model) && session.Update(models))
                {
                    session.Commit();
                    FlashSuccess("创建记录成功!");
                    return Close();
                }
                session.Rollback();
                FlashFailure("创建记录失败!");
                return View();
            }
        }
        public ActionResult Delete(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<TrainNeed>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以删除的记录。");
                    return Close();
                }
                if (!models.All(m => m.Type.Equals(TrainNeedType.部门)))
                {
                    FlashInfo("只能删除类型为\"部门\"的记录!");
                    return Close();
                }
                if (!models.All(CanSubmit))
                {
                    FlashInfo("所选记录包含已提交记录!");
                    return Close();
                }
                var displays = string.Join(", ", models.Select(m => string.Concat(m.Id)));

                if (session.Delete<TrainNeed>(m => m.Id.In(ids)))
                {
                    session.Commit();
                    FlashSuccess("删除记录{0}成功!", displays);
                    return Close();
                }
                session.Rollback();
                FlashError("删除记录{0}失败!", displays);
                return View(models);

            }
        }
Ejemplo n.º 22
0
        public ActionResult Create(FormCollection collection)
        {
            var model = new User();
            TryUpdateModel(model, collection.ToValueProvider());
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            if (model.Name.Equals("root", StringComparison.CurrentCultureIgnoreCase))
            {
                ModelState.AddModelError("Name", "该名称已被使用");
                return View(model);
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                if (Exist<User>(session, m => m.Code.Equals(model.Code)
                    || m.Code.Equals(model.Name)
                    || m.Name.Equals(model.Code)
                    || m.Name.Equals(model.Name)))
                {
                    FlashWarn("用户 {0} 工号或者用户名已经存在,创建失败。", model.Name);
                    return View(model);
                }
                model.IsActive = false;
                model.CreatedAt = DateTime.Now;
                model.CreatedBy = CurrentAccountNo;
                ViewData.Model = model;

                if (UserService.AddUser(session, model, CurrentAccountNo))
                {
                    session.Commit();
                    UserActivity.UserNameIdMapHolder.Reset();
                    FlashSuccess("创建用户[{0}]成功!", model.Name);
                    return Close();
                }
                session.Rollback();
                FlashFailure("创建用户[{0}]失败!", model.Name);
                return View();
            }
        }
Ejemplo n.º 23
0
 public ActionResult SetUKey(FormCollection collection, long[] ids)
 {
     var key = collection["key"];
     if (string.IsNullOrEmpty(key))
     {
         InstantShow("未检测到U-Key,请检查U-Key是否插上,U-Key驱动是否正确安装!");
         return SetUKey(ids);
     }
     if (ids.Length == 0)
     {
         FlashWarn("请选择要设置U-Key的用户。");
         return Close();
     }
     using (var session = new SessionFactory().OpenSession())
     {
         session.BeginTransaction();
         var model = session.Load<User>(m => m.Id.In(ids));
         if (model == null)
         {
             FlashInfo("你没有选择任何需要设置U-Key的用户。");
             return Close();
         }
         var existUKey = session.Load<Account>(m => m.UkeyNo.Equals(key));
         if (existUKey != null)
         {
             InstantShow("该U-Key已经绑定!");
             return SetUKey(ids);
         }
         var account = session.Load<Account>(m => m.Name.Equals(model.Code));
         account.UkeyNo = key;
         account.UpdatedAt = DateTime.Now;
         account.UpdatedBy = CurrentAccountNo;
         if (!session.Update(account))
         {
             FlashError("设置失败,请联系管理员!");
             return Close();
         }
         session.Commit();
         //InstantShow("设置成功");
         return FlashSuccessAndClose("设置成功");
     }
 }
Ejemplo n.º 24
0
        public new ActionResult User(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashInfo("请选择要查看用户的角色。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var roles = session.Find<Role>(m => m.Id.In(ids));
                if (roles == null || roles.Count == 0)
                {
                    FlashInfo("请选择要查看用户的角色。");
                    return Close();
                }
                ViewData["roleName"] = string.Join(",", roles.Select(m => m.Name));

                var roleIds = roles.Select(m => m.Id).ToList();
                var userIds = Request.Params["select_id"].ToLongArray();

                session.Delete<AccountRoleRef>(m => m.RoleId.In(ids));
                if (userIds.Length > 0)
                {
                    var q = new Criteria<Account>(session)
                        .AndIn<User>(m => m.Name, n => n.Code, n => n.Id.In(userIds))
                        .Select(m => m.Id);
                    var accountIds = q.To<long>();

                    if (accountIds.Count < userIds.Length)
                    {
                        FlashWarn("有{0}个用户没有激活,请全部激活后再操作。", userIds.Length - accountIds.Count);
                        return Close();
                    }

                    var toCreateItems = (from accountId in accountIds
                                         from roleId in roleIds
                                         select
                                             new AccountRoleRef
                                                 {
                                                     AccountId = accountId,
                                                     RoleId = roleId,
                                                     CreatedAt = DateTime.Now,
                                                     CreatedBy = CurrentAccountNo
                                                 }).ToArray();
                    if (toCreateItems.Length > 0)
                    {
                        if (session.Create(toCreateItems))
                        {
                            session.Commit();
                            FlashSuccess("给角色分配用户成功!");
                            return Close();
                        }
                    }
                    session.Rollback();
                    FlashFailure("给角色分配用户失败!");
                    return User(ids);
                }
                session.Commit();
                FlashSuccess("取消角色全部用户成功!");
                return Close();
            }
        }
        public ActionResult Delete(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<TrainManagement>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以删除的记录。");
                    return Close();
                }
                var displays = string.Join(", ", models.Select(m => string.Concat(m.Id)));

                if (session.Delete<TrainManagement>(m => m.Id.In(ids)))
                {
                    session.Commit();
                    FlashSuccess("删除记录{0}成功!", displays);
                    return Close();
                }
                session.Rollback();
                FlashError("删除记录{0}失败!", displays);
                return View(models);

            }
        }
        public ActionResult Delete(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<InstitutionManagement>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以删除的记录。");
                    return Close();
                }
                var displays = string.Join(", ", models.Select(m => m.Id));
                var fileIds = models.Select(m => m.Id).ToArray();
                var files = session.Find<UploadFile>(m => m.Id.In(fileIds));
                //删除上传的文件
                foreach (var uploadFile in files)
                {
                    uploadFile.DeleteFile();
                }

                if (models.Any(model => !session.Delete(model)) || files.Any(m => !session.Delete(m)))
                {
                    session.Rollback();
                    FlashError("删除记录{0}失败!", displays);
                    return View(models);
                }
                session.Commit();

                FlashSuccess("删除记录{0}成功!", displays);
                return Close();

            }
        }
        public ActionResult Delete(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();

                var orgs = session.Find<SchoolDepartment>();
                var topItems = orgs.Where(m => m.Id.In(ids)).ToList();
                var toDelItems = new List<SchoolDepartment>();
                foreach (var topItem in topItems)
                {
                    toDelItems.AddRange(topItem.GetDescentdant(orgs, true));
                }
                var users = session.Find<User>(m => m.DepartmentId.In(ids));
                var u = new List<User>();
                foreach (var user in users)
                {
                    user.DepartmentId = 0;
                    u.Add(user);
                }
                //删除下级部门&&将该部门下的用户SchoolDepartmentId设为0

                if (toDelItems.Count > 0 && !session.Delete(toDelItems))
                {
                    session.Rollback();
                    FlashError("删除部门失败!");
                    return View(topItems);
                }
                if (u.Count > 0 && !session.Update(u))
                {
                    session.Rollback();
                    FlashError("删除部门后更新用户信息失败!");
                    return View(topItems);
                }
                var roles = session.Find<Role>(m => m.DepartmentId.In(ids));
                if (!session.Delete<Role>(m => m.DepartmentId.In(ids)))
                {
                    session.Rollback();
                    FlashError("删除部门角色失败!");
                    return View(topItems);
                }
                var roleIds = roles.Select(m => m.Id).ToArray();
                if (roleIds.Length > 0)
                {
                    if (!session.Delete<AccountRoleRef>(m => m.RoleId.In(roleIds)))
                    {
                        session.Rollback();
                        FlashError("删除部门所属角色和用户的对应关系失败!");
                        return View(topItems);
                    }
                }
                session.Commit();
                ViewData.Model = toDelItems;
                FlashSuccess(" 部门删除成功 ");
                return Close();
            }
        }
        public ActionResult Delete(FormCollection collection, long[] ids, long id = 0)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<PunishmentDossierFiles>(m => m.Id.In(ids));
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以删除的记录。");
                    return Close();
                }
                if (models.Any(m => !m.CreatedBy.Equals(CurrentAccountNo)))
                {
                    FlashInfo("你不是创建人,不能删除{0}", string.Join(",", models.Where(m => !m.CreatedBy.Equals(CurrentAccountNo)).Select(m => m.FileName)));
                    return Close();
                }
                var contract = session.Load<PunishmentDossier>(id);
                if (contract == null)
                {
                    FlashWarn("材料未找到,请联系管理员!");
                    return Close();
                }
                if (!IsEditAble(contract))
                {
                    FlashInfo("材料已经提交,相关文件不能删除!");
                    return Close();
                }
                var displays = string.Join(", ", models.Select(m => m.FileName));

                if (models.Any(model => !model.DeleteFile()) || !session.Delete(models))
                {
                    session.Rollback();
                    FlashError("删除记录{0}失败!", displays);
                    return View(models);
                }
                session.Commit();

                FlashSuccess("删除记录{0}成功!", displays);
                return Close();

            }
        }
Ejemplo n.º 29
0
        public ActionResult Delete(FormCollection collection, long[] ids)
        {
            if (ids.Length == 0)
            {
                FlashWarn("请选择要删除的记录。");
                return Close();
            }
            using (var session = new SessionFactory().OpenSession())
            {
                session.BeginTransaction();
                var models = session.Find<User>(m => m.Id.In(ids) && !m.IsActive);
                var rootModel = models.FirstOrDefault(m => m.Code.Equals("root"));
                if (rootModel != null)
                {
                    FlashWarn("你不能删除ROOT账户。");
                    models.Remove(rootModel);
                }
                if (models.Count == 0)
                {
                    FlashInfo("你没有选择任何可以删除的用户。为了系统安全考虑,已禁用的账户才能被删除。");
                    return Close();
                }
                var users = string.Join(", ", models.Select(m => m.Name));

                foreach (var model in models)
                {
                    if (!session.Delete(model) || !session.Delete<Account>(m => m.Name.Equals(model.Code)))
                    {
                        session.Rollback();
                        FlashError("删除用户{0}失败!", users);
                        return Delete(ids);
                    }
                }
                session.Commit();

                UserActivity.UserNameIdMapHolder.Reset();

                FlashSuccess("删除用户{0}成功!", users);
                return Close();
            }
        }
Ejemplo n.º 30
0
 public ActionResult Delete(FormCollection collection, long[] ids)
 {
     if (ids.Length == 0)
     {
         FlashWarn("请选择要删除的记录。");
         return Close();
     }
     using (var session = new SessionFactory().OpenSession())
     {
         session.BeginTransaction();
         var models = session.Find<Role>(m => m.Id.In(ids));
         if (models == null || models.Count == 0)
         {
             FlashFailure("你要删除的角色不存在或者已被删除!");
             return Close();
         }
         if (models.Any((m => "SYSTEM".Equals(m.CreatedBy))))
         {
             FlashFailure("你要删除的角色包含系统内置角色,无法删除!");
             return Close();
         }
         var roleIds = models.Select(n => n.Id).ToArray();
         if (session.Delete(models) &&
             session.Delete<NavigationPriviledge>(m => m.Flag.Equals(NavigationPriviledge.RoleType) && m.OwnerId.In(roleIds)) &&
             session.Delete<AccountNavigationRef>(m => m.Type.Equals(AccountNavigationRef.RoleType) && m.OwnerId.In(roleIds)))
         {
             session.Commit();
             FlashInfo("角色删除成功");
             return Close();
         }
         session.Rollback();
         FlashError("角色删除失败!");
         return View();
     }
 }
Ejemplo n.º 31
0
 public ActionResult ResetPassword(FormCollection collection, long[] ids)
 {
     if (ids.Length == 0)
     {
         FlashWarn("请选择要重置密码的用户。");
         return Close();
     }
     using (var session = new SessionFactory().OpenSession())
     {
         session.BeginTransaction();
         var models = session.Find<User>(m => m.Id.In(ids));
         if (models.Count == 0)
         {
             FlashInfo("你没有选择任何需要重置密码的用户。");
             return Close();
         }
         var flag = Account.GetFlag();
         foreach (User model in models)
         {
             if (model.ResetAccount(session, CurrentAccountNo, flag) == null)
             {
                 session.Rollback();
                 FlashError("重置密码请求失败!");
                 return Close();
             }
         }
         session.Commit();
         InstantShow(string.Format("重置密码请求已接受!验证码为:{0},请抄录!", flag));
         return Close();
     }
 }