public static Int16? GetInt16(DbDataReader reader, int index) { if (reader.IsDBNull(index)) return null; else return reader.GetInt16(index); }
public SelectedSnapshot Map(DbDataReader reader) { var persistenceId = reader.GetString(0); var sequenceNr = reader.GetInt64(1); var timestamp = reader.GetDateTime(2); var timestampTicks = reader.GetInt16(3); timestamp = timestamp.AddTicks(timestampTicks); var metadata = new SnapshotMetadata(persistenceId, sequenceNr, timestamp); var snapshot = GetSnapshot(reader); return new SelectedSnapshot(metadata, snapshot); }
static int GetInt16(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); System.Data.Common.DbDataReader obj = (System.Data.Common.DbDataReader)ToLua.CheckObject(L, 1, typeof(System.Data.Common.DbDataReader)); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); short o = obj.GetInt16(arg0); LuaDLL.lua_pushnumber(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
// Copy multiple fields from reader to SmiTypedGetterSetter // Supports V200 code path, without damaging backward compat for V100 code. // Main differences are supporting DbDataReader, and for binary, character, decimal and Udt types. // Assumes caller enforces that reader and setter metadata are compatible internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, IList<SmiExtendedMetaData> metaData, DbDataReader reader) { for (int i = 0; i < metaData.Count; i++) { if (reader.IsDBNull(i)) { ValueUtilsSmi.SetDBNull_Unchecked(sink, setters, i); } else { switch (metaData[i].SqlDbType) { case SqlDbType.BigInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int64)); SetInt64_Unchecked(sink, setters, i, reader.GetInt64(i)); break; case SqlDbType.Binary: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); break; case SqlDbType.Bit: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Boolean)); SetBoolean_Unchecked(sink, setters, i, reader.GetBoolean(i)); break; case SqlDbType.Char: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray)); SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); break; case SqlDbType.DateTime: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i)); break; case SqlDbType.Decimal: { // block to scope sqlReader local to avoid conflicts Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlDecimal)); // Support full fidelity for SqlDataReader SqlDataReader sqlReader = reader as SqlDataReader; if (null != sqlReader) { SetSqlDecimal_Unchecked(sink, setters, i, sqlReader.GetSqlDecimal(i)); } else { SetSqlDecimal_Unchecked(sink, setters, i, new SqlDecimal(reader.GetDecimal(i))); } } break; case SqlDbType.Float: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Double)); SetDouble_Unchecked(sink, setters, i, reader.GetDouble(i)); break; case SqlDbType.Image: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); break; case SqlDbType.Int: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int32)); SetInt32_Unchecked(sink, setters, i, reader.GetInt32(i)); break; case SqlDbType.Money: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney)); SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i))); break; case SqlDbType.NChar: case SqlDbType.NText: case SqlDbType.NVarChar: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray)); SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); break; case SqlDbType.Real: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Single)); SetSingle_Unchecked(sink, setters, i, reader.GetFloat(i)); break; case SqlDbType.UniqueIdentifier: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Guid)); SetGuid_Unchecked(sink, setters, i, reader.GetGuid(i)); break; case SqlDbType.SmallDateTime: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); SetDateTime_Checked(sink, setters, i,metaData[i], reader.GetDateTime(i)); break; case SqlDbType.SmallInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int16)); SetInt16_Unchecked(sink, setters, i, reader.GetInt16(i)); break; case SqlDbType.SmallMoney: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney)); SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i))); break; case SqlDbType.Text: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray)); SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); break; case SqlDbType.Timestamp: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); break; case SqlDbType.TinyInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Byte)); SetByte_Unchecked(sink, setters, i, reader.GetByte(i)); break; case SqlDbType.VarBinary: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); break; case SqlDbType.VarChar: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.String)); SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); break; case SqlDbType.Xml: { Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlXml)); SqlDataReader sqlReader = reader as SqlDataReader; if (null != sqlReader) { SetSqlXml_Unchecked(sink, setters, i, sqlReader.GetSqlXml(i)); } else { SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); } } break; case SqlDbType.Variant: { // block to scope sqlReader local and avoid conflicts // Support better options for SqlDataReader SqlDataReader sqlReader = reader as SqlDataReader; SqlBuffer.StorageType storageType = SqlBuffer.StorageType.Empty; object o; if (null != sqlReader) { o = sqlReader.GetSqlValue(i); storageType = sqlReader.GetVariantInternalStorageType(i); } else { o = reader.GetValue(i); } ExtendedClrTypeCode typeCode = MetaDataUtilsSmi.DetermineExtendedTypeCodeForUseWithSqlDbType(metaData[i].SqlDbType, metaData[i].IsMultiValued, o, null, // SmiContextFactory.KatmaiVersion ); if ((storageType == SqlBuffer.StorageType.DateTime2) || (storageType == SqlBuffer.StorageType.Date)) SetCompatibleValueV200(sink, setters, i, metaData[i], o, typeCode, 0, 0, null, storageType); else SetCompatibleValueV200(sink, setters, i, metaData[i], o, typeCode, 0, 0, null); } break; case SqlDbType.Udt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); // Skip serialization for Udt types. SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); break; // SqlDbType.Structured should have been caught before this point for TVPs. SUDTs will still need to implement. case SqlDbType.Date: case SqlDbType.DateTime2: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i)); break; case SqlDbType.Time: { // block to scope sqlReader local and avoid conflicts Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.TimeSpan)); SqlDataReader sqlReader = reader as SqlDataReader; TimeSpan ts; if (null != sqlReader) { ts = sqlReader.GetTimeSpan(i); } else { ts = (TimeSpan)reader.GetValue(i); } SetTimeSpan_Checked(sink, setters, i, metaData[i], ts); } break; case SqlDbType.DateTimeOffset: { // block to scope sqlReader local and avoid conflicts Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTimeOffset)); SqlDataReader sqlReader = reader as SqlDataReader; DateTimeOffset dto; if (null != sqlReader) { dto = sqlReader.GetDateTimeOffset(i); } else { dto = (DateTimeOffset)reader.GetValue(i); } SetDateTimeOffset_Unchecked(sink, setters, i, dto); } break; default: // In order for us to get here we would have to have an // invalid instance of SqlDbType, or one would have to add // new member to SqlDbType without adding a case in this // switch, hence the assert - it must be Debug.Assert(false, "unsupported DbType:" + metaData[i].SqlDbType.ToString()); throw ADP.NotSupported(); } } } }
/// <summary> /// Конструктор класса WorkType /// </summary> public WorkType(DbDataReader reader) { this._id = reader.GetInt16(0); this._sportTypeId = reader.GetByte(1); this._userId = reader.GetInt64(2); this._count = reader.GetInt32(3); this._value = reader.GetString(4); }
/// <summary> /// Конструктор класса Workout /// </summary> public Workout(DbDataReader reader) { this._id = reader.GetValue(0).ToString() == "" ? (long)0 : reader.GetInt64(0); this._date = reader.GetValue(1).ToString() == "" ? (long)0 : reader.GetInt64(1); this._timeBegin = reader.GetValue(2).ToString() == "" ? (long)0 : reader.GetInt64(2); this._timeEnd = reader.GetValue(3).ToString() == "" ? (long)0 : reader.GetInt64(3); this._warmUp = reader.GetValue(4).ToString() == "" ? (byte)0 : reader.GetByte(4); this._musclesGroupId = reader.GetValue(5).ToString() == "" ? (Int16)0 : reader.GetInt16(5); this._workoutPlanId = reader.GetValue(6).ToString() == "" ? (long)0 : reader.GetInt64(6); this._workoutTypeId = reader.GetValue(7).ToString() == "" ? (Int16)0 : reader.GetInt16(7); this._athleteId = reader.GetValue(8).ToString() == "" ? (long)0 : reader.GetInt64(8); this._createDate = reader.GetValue(9).ToString() == "" ? (long)0 : reader.GetInt64(9); this._workoutPlanTypeId = reader.GetValue(10).ToString() == "" ? (Int16)0 : reader.GetInt16(10); }
protected override object ReadInternal(DbDataReader reader, int ordinal, SqlRandomTableColumn columnInfo, Type asType) { ValidateReadType(typeof(short), asType); if (reader.IsDBNull(ordinal)) return DBNull.Value; return reader.GetInt16(ordinal); }
internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, IList<SmiExtendedMetaData> metaData, DbDataReader reader) { for (int i = 0; i < metaData.Count; i++) { object sqlValue; DateTimeOffset dateTimeOffset; TimeSpan timeSpan; ExtendedClrTypeCode code; if (reader.IsDBNull(i)) { SetDBNull_Unchecked(sink, setters, i); continue; } switch (metaData[i].SqlDbType) { case SqlDbType.BigInt: { SetInt64_Unchecked(sink, setters, i, reader.GetInt64(i)); continue; } case SqlDbType.Binary: { SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.Bit: { SetBoolean_Unchecked(sink, setters, i, reader.GetBoolean(i)); continue; } case SqlDbType.Char: { SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.DateTime: { SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i)); continue; } case SqlDbType.Decimal: { SqlDataReader reader6 = reader as SqlDataReader; if (reader6 == null) { break; } SetSqlDecimal_Unchecked(sink, setters, i, reader6.GetSqlDecimal(i)); continue; } case SqlDbType.Float: { SetDouble_Unchecked(sink, setters, i, reader.GetDouble(i)); continue; } case SqlDbType.Image: { SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.Int: { SetInt32_Unchecked(sink, setters, i, reader.GetInt32(i)); continue; } case SqlDbType.Money: { SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i))); continue; } case SqlDbType.NChar: case SqlDbType.NText: case SqlDbType.NVarChar: { SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.Real: { SetSingle_Unchecked(sink, setters, i, reader.GetFloat(i)); continue; } case SqlDbType.UniqueIdentifier: { SetGuid_Unchecked(sink, setters, i, reader.GetGuid(i)); continue; } case SqlDbType.SmallDateTime: { SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i)); continue; } case SqlDbType.SmallInt: { SetInt16_Unchecked(sink, setters, i, reader.GetInt16(i)); continue; } case SqlDbType.SmallMoney: { SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i))); continue; } case SqlDbType.Text: { SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.Timestamp: { SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.TinyInt: { SetByte_Unchecked(sink, setters, i, reader.GetByte(i)); continue; } case SqlDbType.VarBinary: { SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.VarChar: { SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.Variant: { SqlDataReader reader4 = reader as SqlDataReader; if (reader4 == null) { goto Label_0311; } sqlValue = reader4.GetSqlValue(i); goto Label_0319; } case SqlDbType.Xml: { SqlDataReader reader5 = reader as SqlDataReader; if (reader5 == null) { goto Label_02E4; } SetSqlXml_Unchecked(sink, setters, i, reader5.GetSqlXml(i)); continue; } case SqlDbType.Udt: { SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); continue; } case SqlDbType.Date: case SqlDbType.DateTime2: { SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i)); continue; } case SqlDbType.Time: { SqlDataReader reader3 = reader as SqlDataReader; if (reader3 == null) { goto Label_03A0; } timeSpan = reader3.GetTimeSpan(i); goto Label_03AE; } case SqlDbType.DateTimeOffset: { SqlDataReader reader2 = reader as SqlDataReader; if (reader2 == null) { goto Label_03D5; } dateTimeOffset = reader2.GetDateTimeOffset(i); goto Label_03E2; } default: throw ADP.NotSupported(); } SetSqlDecimal_Unchecked(sink, setters, i, new SqlDecimal(reader.GetDecimal(i))); continue; Label_02E4: SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); continue; Label_0311: sqlValue = reader.GetValue(i); Label_0319: code = MetaDataUtilsSmi.DetermineExtendedTypeCodeForUseWithSqlDbType(metaData[i].SqlDbType, metaData[i].IsMultiValued, sqlValue, null, 210L); SetCompatibleValueV200(sink, setters, i, metaData[i], sqlValue, code, 0, 0, null); continue; Label_03A0: timeSpan = (TimeSpan) reader.GetValue(i); Label_03AE: SetTimeSpan_Checked(sink, setters, i, metaData[i], timeSpan); continue; Label_03D5: dateTimeOffset = (DateTimeOffset) reader.GetValue(i); Label_03E2: SetDateTimeOffset_Unchecked(sink, setters, i, dateTimeOffset); } }
/// <summary> /// Конструктор класса MusclesGroup /// </summary> public MusclesGroup(DbDataReader reader) { this._id = reader.GetInt16(0); this._value = reader.GetString(1); }
private void SetDBTable(DbDataReader reader) { dataGridTableSearch.ItemsSource = null; if (reader != null) { DataTable dt = new DataTable(); dt.Columns.Add("№"); dt.Columns.Add("Дата тренировки"); dt.Columns.Add("Тип тренировки"); dt.Columns.Add("Тип работы"); dt.Columns.Add("Время"); dt.Columns.Add("Вес"); dt.Columns.Add("Повторы"); while (reader.Read()) { dt.Rows.Add(reader.GetInt64(0), OtherMethods.GetDate((long)reader.GetInt64(1)), reader.GetString(2), reader.GetString(3), OtherMethods.GetTime((long)reader.GetInt64(4)), reader.GetValue(5).ToString() == "" ? (float)0 : float.Parse(reader.GetValue(5).ToString(), format), reader.GetValue(6).ToString() == "" ? (Int16)0 : reader.GetInt16(6)); } dataGridTableSearch.ItemsSource = dt.DefaultView; } }
/// <summary> /// Конструктор класса результата работы /// </summary> public Result(DbDataReader reader, System.Globalization.NumberFormatInfo format) { this._id = reader.GetInt64(0); if (this._id > 11967) this._time = reader.GetValue(1).ToString() == "" ? (long)0 : (long)reader.GetValue(1); this._time = reader.GetValue(1).ToString() == "" ? (long)0 : (long)reader.GetValue(1); this._weight = reader.GetValue(2).ToString() == "" ? (float)0 : float.Parse(reader.GetValue(2).ToString(), format); object o = reader.GetValue(3); this._repeat = reader.GetValue(3).ToString() == "" ? (Int16)0 : reader.GetInt16(3); this._distance = reader.GetValue(4).ToString() == "" ? (float)0 : float.Parse(reader.GetValue(4).ToString(), format); this._points = reader.GetValue(5).ToString() == "" ? 0 : reader.GetInt32(5); this._place = reader.GetValue(6).ToString() == "" ? 0 : reader.GetInt32(6); this._comment = reader.GetValue(7).ToString() == "" ? "" : reader.GetString(7); }
/// <summary> /// Конструктор класса WorkoutPlanType /// </summary> public WorkoutPlanType(DbDataReader reader) { this._id = reader.GetInt16(0); this._value = reader.GetString(1); }
private static List<iSearch_Title_Result> DataReader_To_Simple_Result_List2(DbDataReader Reader, List<string> MetadataFieldNames) { // Create return list List<iSearch_Title_Result> returnValue = new List<iSearch_Title_Result>(); // Create some lists used during the construction Dictionary<int, Database_Title_Result> titleLookupByRowNumber = new Dictionary<int, Database_Title_Result>(); Dictionary<int, Database_Item_Result> itemLookupByItemID = new Dictionary<int, Database_Item_Result>(); Dictionary<int, int> rowNumberLookupByItemID = new Dictionary<int, int>(); // May have not values returned if (Reader.FieldCount < 5) return null; // Get all the main title values first int minimumRownumber = -1; while (Reader.Read()) { // Create new database title object for this Database_Title_Result result = new Database_Title_Result { RowNumber = Reader.GetInt32(0), BibID = Reader.GetString(1), GroupTitle = Reader.GetString(2), OPAC_Number = Reader.GetInt32(3), OCLC_Number = Reader.GetInt64(4), GroupThumbnail = Reader.GetString(5), MaterialType = Reader.GetString(6), Primary_Identifier_Type = Reader.GetString(7), Primary_Identifier = Reader.GetString(8) }; titleLookupByRowNumber.Add(result.RowNumber, result); if (minimumRownumber == -1) { minimumRownumber = result.RowNumber; } } // Move to the item system-required information table Reader.NextResult(); // If there were no titles, then there are no results if (titleLookupByRowNumber.Count == 0) return returnValue; // Step through all the item rows, build the item, and add to the title Database_Title_Result titleResult = titleLookupByRowNumber[minimumRownumber]; returnValue.Add(titleResult); int lastRownumber = titleResult.RowNumber; while (Reader.Read()) { // Ensure this is the right title for this item int thisRownumber = Reader.GetInt32(0); if (thisRownumber != lastRownumber) { titleResult = titleLookupByRowNumber[thisRownumber]; lastRownumber = thisRownumber; // Add this title to the list returnValue.Add(titleResult); } // Create new database item object for this Database_Item_Result result = new Database_Item_Result { ItemID = Reader.GetInt32(1), VID = Reader.GetString(2), Title = Reader.GetString(3), IP_Restriction_Mask = Reader.GetInt16(4), MainThumbnail = Reader.GetString(5), Level1_Index = (short)Reader.GetInt32(6), Level1_Text = Reader.GetString(7), Level2_Index = (short)Reader.GetInt32(8), Level2_Text = Reader.GetString(9), Level3_Index = (short)Reader.GetInt32(10), Level3_Text = Reader.GetString(11), PubDate = Reader.GetString(12), PageCount = Reader.GetInt32(13), Link = Reader.GetString(14), Spatial_KML = Reader.GetString(15), COinS_OpenURL = Reader.GetString(16) }; // Save to the hash lookup for adding display metadata itemLookupByItemID[result.ItemID] = result; rowNumberLookupByItemID[result.ItemID] = thisRownumber; // Add this to the title object titleResult.Add_Item_Result(result); } // Move to the item aggregation-configured display information table Reader.NextResult(); // Set some values for checking for uniformity of values const int ITEMS_TO_CHECK_IN_EACH_TITLE = 20; bool first_item_analyzed = true; List<bool> checking_fields = new List<bool>(); int display_fields_count = 0; int itemcount = 0; int lastRowNumber = -1; while (Reader.Read()) { // Get the item id and then work back to the local title id int itemId = Reader.GetInt32(0); int rowNumber = rowNumberLookupByItemID[itemId]; // If this is the very first item analyzed, need to do some work first if (first_item_analyzed) { // Save the number of display fields display_fields_count = Reader.FieldCount - 1; // Add a boolean for each display field for (int i = 0; i < display_fields_count; i++) { // Add the default boolean value here checking_fields.Add(true); // Save the metadata label MetadataFieldNames.Add(Reader.GetName(i + 1)); } // Done with the first row analysis, so ensure it does not repeat first_item_analyzed = false; } // Is this is the start of a new title row? if (lastRowNumber != rowNumber) { // Get this title object titleResult = titleLookupByRowNumber[rowNumber]; // Set items analyzed for this title to zero itemcount = 0; // Back to checking each metadata field since this is a new title for (int i = 0; i < display_fields_count; i++) checking_fields[i] = true; // Save this row numbe as the last row number analyzed lastRowNumber = rowNumber; } if (itemcount == 0) { // Set all the initial display values (at the title level) from // this item's display information titleResult.Metadata_Display_Values = new string[display_fields_count]; for (int i = 0; i < display_fields_count; i++) { titleResult.Metadata_Display_Values[i] = Reader.GetString(i + 1); } } else if (itemcount < ITEMS_TO_CHECK_IN_EACH_TITLE) { // Compare the values attached with each display piece of metadata // from the title with this additional, individual item. If the // values are the same, it should display at the title level, but // if they are different, we will not display the values at that level for (int i = 0; i < display_fields_count; i++) { // If we already found a mismatch for this metadata field, then // no need to continue checking if (checking_fields[i]) { if (String.Compare(titleResult.Metadata_Display_Values[i], Reader.GetString(i + 1), StringComparison.InvariantCultureIgnoreCase) != 0) { titleResult.Metadata_Display_Values[i] = "*"; checking_fields[i] = false; } } } } } return returnValue; }
/// <summary> /// Конструктор класса MusclesGroup /// </summary> public UserRole(DbDataReader reader) { this._id = reader.GetInt16(0); this._value = reader.GetString(1); }