public void UnShare(int id) { SysSharedPrivilege privilege = this.context.FindById <SysSharedPrivilege>(new object[] { id }); if (privilege != null) { this.context.Delete(privilege); } }
public int Share(string entityName, int objectId, int ownerId, ShareType sharedType, int?sharedUserId, int?sharedRoleId, EntityOperationEnum privilege) { SysSharedPrivilege privilege2 = new SysSharedPrivilege { CreateTime = new DateTime?(DateTime.Now), OwnerId = new int?(ownerId), EntityName = entityName, ObjectId = new int?(objectId), Privilege = new int?((int)privilege), ShareRoleId = sharedRoleId, ShareUserId = sharedUserId, ShareType = new int?((int)sharedType), Id = this.context.GetNextIdentity_Int(false) }; this.context.Insert(privilege2); return(privilege2.Id); }
public bool CheckHasSharedPrivilege(int objectId, string entityName, EntityOperationEnum operationEnum) { bool flag = false; if ((operationEnum != EntityOperationEnum.Add) && (operationEnum != EntityOperationEnum.None)) { if (objectId == 0) { return(flag); } List <SysSharedPrivilege> list = this.context.Where <SysSharedPrivilege>(p => ((p.ObjectId == objectId) && (p.EntityName == entityName)) && (p.Privilege == ((int)operationEnum))).ToList <SysSharedPrivilege>(); List <IRole> userRoles = OrgProxyFactory.GetProxy(this.context).GetUserRoles(this.CurrentUser.User_ID); using (List <SysSharedPrivilege> .Enumerator enumerator = list.GetEnumerator()) { while (enumerator.MoveNext()) { Func <IRole, bool> predicate = null; SysSharedPrivilege share = enumerator.Current; int?shareType = share.ShareType; if ((shareType.GetValueOrDefault() == 0) && shareType.HasValue) { shareType = share.ShareUserId; int num = this.CurrentUser.User_ID; if ((shareType.GetValueOrDefault() == num) && shareType.HasValue) { return(true); } } else if (share.ShareType == 1) { if (predicate == null) { predicate = p => p.Role_ID == share.ShareRoleId; } if (userRoles.FirstOrDefault <IRole>(predicate) != null) { return(true); } } } } } return(flag); }