private bool isRecordCan(string ownerId) { if (!this.isHavePermit && ((ownerId != null) && (ownerId.Trim().Length != 0))) { if (ownerId == this.curUserId) { return(true); } if (this.userIds.IndexOf(ownerId + ",") >= 0) { return(true); } string uproleId = ZkCommon.getRoleId(this.session); if ((uproleId != null) && (uproleId.Trim().Length != 0)) { string roleId = ZkCommon.getRoleIdFromUser(ownerId, this.oDb); if ((roleId != null) && (roleId.Trim().Length != 0)) { return(ZkCommon.isRoleUp(roleId, uproleId, this.oDb)); } } return(false); } return(true); }
private void init(IDataReader ds, string sTableName) { if (!ConfigFix.isCheckDataPermit) { this.isHavePermit = true; } else { this.curUserId = ZkCommon.getUserId(this.session); if (this.curUserId == null) { this.isHavePermit = false; } else if (this.curUserId == "systemadmin") { this.isHavePermit = true; } else { if (ds != null) { string str = null; int num = ds.FieldCount; if (num > 1) { string name = ds.GetName(num - 1); if (name.ToLower().StartsWith(ConfigFix.OWNERIDHEAD) && (name.Length > ConfigFix.OWNERIDHEAD.Length)) { str = name.Substring(ConfigFix.OWNERIDHEAD.Length); } } if (str == null) { this.isHavePermit = true; return; } this.tableName = str; } else { this.tableName = sTableName; } try { this.oDb.Open(); string str3 = this.tableName.ToUpper(); IDataReader reader = this.oDb.exeSql("select permit from fc_entity where tbname='" + str3 + "'"); if (((reader.Read() && !reader.IsDBNull(0)) && ((ds == null) || (Convert.ToInt16(reader.GetValue(0)) != 2))) && (Convert.ToInt16(reader.GetValue(0)) != 3)) { reader.Close(); string str4 = ""; if (ds == null) { str4 = " and permit=3"; } StringBuilder builder = new StringBuilder(); reader = this.oDb.exeSql("select fromId from fcq_sharerule where tbname='" + str3 + "' and toId='" + this.curUserId + "'" + str4); while (reader.Read()) { builder.Append(reader.GetString(0)); builder.Append(","); } this.userIds = builder.ToString(); reader.Close(); } else { this.isHavePermit = true; } } catch (Exception exception) { throw exception; } finally { try { this.oDb.Close(); } catch (Exception) { } } } } }