Beispiel #1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtLimitCode.Text == "" || txtLimitName.Text == "")
                {
                    throw new Exception("角色代码和名称都不能为空");
                }
                if (!txtLimitCode.Text.StartsWith("OP"))
                {
                    throw new Exception("角色代码需以OP开头");
                }

                using (AMSEntities amsContext = new AMSEntities())
                {
                    int i = amsContext.tbLimit.Count(l => l.vcLimitCode == txtLimitCode.Text || l.vcLimitName == txtLimitName.Text);
                    if (i > 0)
                    {
                        throw new Exception("相同角色代码或名称的角色已存在");
                    }
                    tbLimit limit = new tbLimit();
                    limit.vcLimitCode = txtLimitCode.Text;
                    limit.vcLimitName = txtLimitName.Text;
                    amsContext.AddTotbLimit(limit);
                    amsContext.SaveChanges();
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                ErrorLog.Write(this, ex);
            }
        }
Beispiel #2
0
        private void deleteRoleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //删除角色
            try
            {
                TreeNode tn = treeView1.SelectedNode;
                if (tn.Name == "OP001")
                {
                    throw new Exception("管理员权限为系统权限,不能删除!");
                }

                DialogResult dr = MessageBox.Show(this, "是否删除\"" + tn.Text + "\"角色", "删除角色", MessageBoxButtons.YesNo);
                if (dr == DialogResult.Yes)
                {
                    using (AMSEntities amsContext = new AMSEntities())
                    {
                        //tbLimit limit = new tbLimit();
                        //limit.vcLimitCode = tn.Name;
                        //limit.vcLimitName = tn.Text;

                        tbLimit limit = amsContext.tbLimit.FirstOrDefault(l => l.vcLimitCode == tn.Name);
                        amsContext.DeleteObject(limit);

                        var opers = amsContext.tbOperLimit.Where(ol => ol.vcLimitCode == tn.Name);
                        foreach (tbOperLimit operLimit in opers)
                        {
                            amsContext.DeleteObject(operLimit);
                        }
                        amsContext.SaveChanges();
                        SetRole(amsContext);
                        MessageBox.Show(this, "角色删除成功", "删除角色");
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorLog.Write(this, ex);
            }
        }