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); } }
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); } }