public void AddTest() { var model = new SysDataPrivilege { SysId = "cf9d52cc-0500-4829-9611-fd0056961468", DataPrivilegeView = "View1", DataPrivilegeRule = "Rule1", RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now.ToString(CultureInfo.InvariantCulture), "jim") }; Console.WriteLine(repository.Add(model)); }
public EntityPrivilegeEnum TryCanOperation(int userId, long entityId, EntityOperationEnum operationEnum) { if (this.context.FindById <T_User>(new object[] { userId }) == null) { throw new Exception("当前用户不存在数据库中"); } IOrgProxy proxy = OrgProxyFactory.GetProxy(this.context); IEnumerable <int> currentUserRoleIds = from p in proxy.GetUserRoles(userId) select p.Role_ID; SysDataPrivilege privilege = (from x in this.context.Where <SysDataPrivilege>(x => (x.EntityId == entityId) && (x.OperationId == ((int)operationEnum))) where currentUserRoleIds.Contains <int>(!x.RoleId.HasValue ? 0 : x.RoleId.ToInt()) orderby x.PrivilegeLevel descending select x).FirstOrDefault <SysDataPrivilege>(); if (null != privilege) { return((EntityPrivilegeEnum)privilege.PrivilegeLevel.Value); } return(EntityPrivilegeEnum.NoPermission); }
protected void btnSave_Click(object sender, EventArgs e) { try { long?entityId = this.scEntity.SelectedValues.FirstOrDefault().ToLongNullable(); if (entityId == null) { throw new Exception("请选择实体"); } List <int> roleIdList = this.scRole.SelectedValues.Select(p => p.ToIntNullable()).Where(p => p != null).Select(p => p.Value).ToList(); if (roleIdList.Count == 0) { throw new Exception("请选择角色"); } List <int> opList = this.scOperation.SelectedValues.Select(p => p.ToIntNullable()).Where(p => p != null).Select(p => p.Value).ToList(); if (opList.Count == 0) { throw new Exception("请选择操作"); } int?privilege = this.ccPrivilege.SelectedValue.ToIntNullable(); if (privilege == null) { throw new Exception("请选择权限"); } using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope()) { using (BizDataContext db = new BizDataContext()) { var delList = db.Where <SysDataPrivilege>(p => p.EntityId == entityId.Value) .Where(p => roleIdList.Contains(p.RoleId)).ToList(); foreach (var del in delList) { db.Delete(del); } var insertList = new List <SysDataPrivilege>(); foreach (var roleId in roleIdList) { foreach (var op in opList) { SysDataPrivilege data = new SysDataPrivilege() { RoleId = roleId, EntityId = entityId.Value, OperationId = op, PrivelegeLevel = privilege.Value, }; insertList.Add(data); } } db.BatchInsert(insertList); } ts.Complete(); } Clear(); this.AjaxAlert("保存成功"); } catch (Exception ex) { this.AjaxAlert(ex); } }