private BasicOutboundInvoice ReadOutboundInvoiceFromDataReader(DbDataReader reader) { int outboundInvoiceId = reader.GetInt32(0); string customerName = reader.GetString(1); string invoiceAddressPaper = reader.GetString(2); string invoiceAddressMail = reader.GetString(3); int currencyId = reader.GetInt32(4); // double amount = reader.GetDouble(5); int organizationId = reader.GetInt32(6); int budgetId = reader.GetInt32(7); DateTime createdDateTime = reader.GetDateTime(8); int createdByPersonId = reader.GetInt32(9); DateTime dueDate = reader.GetDateTime(10); int reminderCount = reader.GetInt32(11); string reference = reader.GetString(12); bool domestic = reader.GetBoolean(13); bool open = reader.GetBoolean(14); bool sent = reader.GetBoolean(15); string securityCode = reader.GetString(16); string theirReference = reader.GetString(17); return new BasicOutboundInvoice(outboundInvoiceId, customerName, invoiceAddressPaper, invoiceAddressMail, currencyId, organizationId, budgetId, createdDateTime, createdByPersonId, dueDate, reminderCount, reference, domestic, open, sent, securityCode, theirReference); }
static private BasicChurnDataPoint ReadChurnDataPointFromDataReader (DbDataReader reader) { int personId = reader.GetInt32(0); int organizationId = reader.GetInt32(1); bool churn = reader.GetBoolean(2); DateTime decisionDateTime = reader.GetDateTime(3); DateTime expiryDateTime = reader.GetDateTime(4); return new BasicChurnDataPoint(churn ? ChurnDataType.Churn : ChurnDataType.Retention, decisionDateTime, expiryDateTime, personId, organizationId); }
private static BasicPerson ReadPersonFromDataReader (DbDataReader reader) { int personId = reader.GetInt32(0); string passwordHash = reader.GetString(1); string name = reader.GetString(2); string email = reader.GetString(3); string street = reader.GetString(4); string postalCode = reader.GetString(5); string cityName = reader.GetString(6); int countryId = reader.GetInt32(7); string phone = reader.GetString(8); int geographyId = reader.GetInt32(9); DateTime birthdate = reader.GetDateTime(10); int genderId = reader.GetInt32(11); // Fix broken names, emails email = email.ToLower().Trim(); name = name.Trim(); while (name.Contains(" ")) { name = name.Replace(" ", " "); } return new BasicPerson(personId, passwordHash, name, email, street, postalCode, cityName, countryId, phone, geographyId, birthdate, (PersonGender)genderId); }
public static DateTime? GetDateTime(DbDataReader reader, int index) { if (reader.IsDBNull(index)) return null; else return reader.GetDateTime(index); }
private BasicPWEvent ReadPWEventFromDataReader (DbDataReader reader) { int eventId = reader.GetInt32(0); EventType eventType = (EventType)Enum.Parse(typeof(EventType), reader.GetString(1)); EventSource eventSource = (EventSource)Enum.Parse(typeof(EventSource), reader.GetString(2)); int actingPersonId = reader.GetInt32(3); int affectedPersonId = reader.GetInt32(4); DateTime eventDateTime = reader.GetDateTime(5); DateTime processedDateTime = reader.GetDateTime(6); bool open = reader.GetBoolean(7); int organizationId = reader.GetInt32(8); int geographyId = reader.GetInt32(9); int parameterInt = reader.GetInt32(10); string parameterText = reader.GetString(11); return new BasicPWEvent(eventId, eventDateTime, open, processedDateTime, eventType, eventSource, actingPersonId, affectedPersonId, organizationId, geographyId, parameterInt, parameterText); }
private static BasicExceptionLog ExceptionLogFromDataReader (DbDataReader reader) { int ExceptionId = reader.GetInt32(0); DateTime ExceptionDateTime = reader.GetDateTime(1); string Source = reader.GetString(2); string ExceptionText = reader.GetString(3); return new BasicExceptionLog(ExceptionId, ExceptionDateTime, Source, ExceptionText); }
private BasicPayrollItem ReadPayrollItemFromDataReader(DbDataReader reader) { int payrollItemId = reader.GetInt32(0); int personId = reader.GetInt32(1); int organizationId = reader.GetInt32(2); int countryId = reader.GetInt32(3); DateTime employedDate = reader.GetDateTime(4); int reportsToPersonId = reader.GetInt32(5); Int64 baseSalaryCents = reader.GetInt64(6); int budgetId = reader.GetInt32(7); bool open = reader.GetBoolean(8); DateTime terminatedDate = reader.GetDateTime(9); int subtractiveTaxLevelId = reader.GetInt32(10); double additiveTaxLevel = reader.GetDouble(11); return new BasicPayrollItem(payrollItemId, personId, organizationId, countryId, employedDate, reportsToPersonId, baseSalaryCents, budgetId, open, terminatedDate, subtractiveTaxLevelId, additiveTaxLevel); }
private BasicInternalPoll ReadInternalPollFromDataReader(DbDataReader reader) { int internalPollId = reader.GetInt32(0); int organizationId = reader.GetInt32(1); int geographyId = reader.GetInt32(2); string name = reader.GetString(3); bool runningOpen = reader.GetBoolean(4); bool votingOpen = reader.GetBoolean(5); int maxVoteLength = reader.GetInt32(6); int createdByPersonId = reader.GetInt32(7); DateTime runningOpens = reader.GetDateTime(8); DateTime runningCloses = reader.GetDateTime(9); DateTime votingOpens = reader.GetDateTime(10); DateTime votingCloses = reader.GetDateTime(11); int resultsTypeId = reader.GetInt32(12); InternalPollResultsType resultsType = (InternalPollResultsType) resultsTypeId; return new BasicInternalPoll(internalPollId, createdByPersonId, organizationId, geographyId, name, runningOpen, votingOpen, maxVoteLength, runningOpens, runningCloses, votingOpens, votingCloses, resultsType); }
public SelectedSnapshot Map(DbDataReader reader) { var persistenceId = reader.GetString(0); var sequenceNr = reader.GetInt64(1); var timestamp = reader.GetDateTime(2); var metadata = new SnapshotMetadata(persistenceId, sequenceNr, timestamp); var snapshot = GetSnapshot(reader); return new SelectedSnapshot(metadata, snapshot); }
private BasicInboundInvoice ReadInboundInvoiceFromDataReader(DbDataReader reader) { int inboundInvoiceId = reader.GetInt32(0); int organizationId = reader.GetInt32(1); DateTime createdDateTime = reader.GetDateTime(2); int createdByPersonId = reader.GetInt32(3); DateTime dueDate = reader.GetDateTime(4); Int64 amountCents = reader.GetInt64(5); int budgetId = reader.GetInt32(6); bool attested = reader.GetBoolean(7); bool open = reader.GetBoolean(8); string supplier = reader.GetString(9); string payToAccount = reader.GetString(10); string ocr = reader.GetString(11); string invoiceReference = reader.GetString(12); DateTime closedDateTime = reader.GetDateTime(13); int closedByPersonId = reader.GetInt32(14); return new BasicInboundInvoice(inboundInvoiceId, organizationId, createdDateTime, dueDate, amountCents, budgetId, supplier, payToAccount, ocr, invoiceReference, attested, open, closedDateTime, closedByPersonId); }
static int GetDateTime(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); System.DateTime o = obj.GetDateTime(arg0); ToLua.PushValue(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
private void mapValues(DbDataReader reader, object record) { foreach (var accessor in this.accessors) { var index = reader.GetOrdinal(accessor.Name); if (reader.IsDBNull(index)) { continue; } if (accessor.PropertyType == typeof(string)) { accessor.Set(record, reader.GetString(index)); } else if (accessor.PropertyType == typeof(int) || accessor.PropertyType == typeof(int?)) { accessor.Set(record, reader.GetInt32(index)); } else if (accessor.PropertyType == typeof(long) || accessor.PropertyType == typeof(long?)) { accessor.Set(record, reader.GetInt64(index)); } else if (accessor.PropertyType == typeof(DateTime) || accessor.PropertyType == typeof(DateTime?)) { accessor.Set(record, reader.GetDateTime(index)); } else if (accessor.PropertyType == typeof(char) || accessor.PropertyType == typeof(char?)) { accessor.Set(record, reader.GetChar(index)); } } }
private BasicFinancialTransactionRow ReadFinancialTransactionRowFromDataReader(DbDataReader reader) { int rowId = reader.GetInt32(0); int accountId = reader.GetInt32(1); int transactionId = reader.GetInt32(2); Int64 amountCents = reader.GetInt64(3); DateTime createdDateTime = reader.GetDateTime(4); int createdByPersonId = reader.GetInt32(5); return new BasicFinancialTransactionRow(rowId, accountId, transactionId, amountCents, createdDateTime, createdByPersonId); }
private List<IntTag> ParseReservationTags(DbDataReader dataReader, CultureInfo culture, int userTZ) { string temp = culture.DateTimeFormat.ShortDatePattern; if (temp.Contains("MM")) ; else temp = temp.Replace("M", "MM"); if (temp.Contains("dd")) ; else temp = temp.Replace("d", "dd"); string dateF = temp + " HH" + culture.DateTimeFormat.TimeSeparator + "mm"; List<IntTag> tags = new List<IntTag>(); while (dataReader.Read()) { //t R.Reservation_Info_ID,R.Start_Time, R.End_Time, E.Lab_Client_Name, C.Group_Name,C.Service_Broker_Name IntTag t = new IntTag(); StringBuilder buf = new StringBuilder(); t.id = dataReader.GetInt32(0); buf.Append(DateUtil.ToUserTime(DateUtil.SpecifyUTC(dataReader.GetDateTime(1)), culture, userTZ, dateF) + " - "); buf.Append(DateUtil.ToUserTime(DateUtil.SpecifyUTC(dataReader.GetDateTime(2)), culture, userTZ, dateF) + " "); buf.Append(dataReader.GetString(3) + " "); buf.Append(dataReader.GetString(4) + ":"); buf.Append(dataReader.GetString(5)); //buf.Append(" " +dataReader.GetInt32(6)); t.tag = buf.ToString(); tags.Add(t); } return tags; }
/// <summary> /// DataReader转换为Json /// </summary> /// <param name="dataReader">DataReader对象</param> /// <returns>Json字符串</returns> public static string ToJson(DbDataReader dataReader) { string jsonString = "["; while (dataReader.Read()) { jsonString += "{"; for (int i = 0; i < dataReader.FieldCount; i++) { jsonString += "\"" + ToJson(dataReader.GetName(i)) + "\":"; Type type = dataReader.GetFieldType(i); if (type == typeof(DateTime)) { if (!dataReader.IsDBNull(i)) { DateTime dt = dataReader.GetDateTime(i); jsonString += "\"" + ToJson(dt.ToString("yyyy-MM-dd HH:mm:ss")) + "\","; } else { jsonString += "\"\","; } } else if (type == typeof(string)) { jsonString += "\"" + ToJson(dataReader[i].ToString()) + "\","; } else if (type == typeof(Int32) || type == typeof(Int64) || type == typeof(Double) || type == typeof(Decimal)) { if (!dataReader.IsDBNull(i)) { jsonString += ToJson(dataReader[i].ToString()) + ","; } else { jsonString += "\"\","; } } else { throw new Exception("未知类型:" + type.ToString()); //jsonString += ToJson(dataReader[i].ToString()) + ","; } } jsonString = DeleteLast(jsonString) + "},"; } dataReader.Close(); return DeleteLast(jsonString) + "]"; }
protected static Group readGroup(DbDataReader reader) { // select g.Group_ID, g.Group_Type_ID,g.Associated_Group_ID, g.Date_Created, g.group_name, // g.description AS description, g.email, gt.description AS group_type Group grp = new Group(); grp.groupID = reader.GetInt32(0); grp.groupTypeID = reader.GetInt32(1); grp.associatedGroupID = reader.GetInt32(2); grp.createTime = DateUtil.SpecifyUTC(reader.GetDateTime(3)); grp.groupName = reader.GetString(4); if(!reader.IsDBNull(5)) grp.description = reader.GetString(5); if (!reader.IsDBNull(6)) grp.email = reader.GetString(6); grp.groupType = reader.GetString(7); return grp; }
MembershipUser GetUserFromReader (DbDataReader reader) { return new MembershipUser (this.Name, /* XXX is this right? */ reader.GetString (0), /* name */ reader.GetGuid (1), /* providerUserKey */ reader.IsDBNull (2) ? null : reader.GetString (2), /* email */ reader.IsDBNull (3) ? null : reader.GetString (3), /* passwordQuestion */ reader.IsDBNull (4) ? null : reader.GetString (4), /* comment */ reader.GetBoolean (5), /* isApproved */ reader.GetBoolean (6), /* isLockedOut */ reader.GetDateTime (7).ToLocalTime (), /* creationDate */ reader.GetDateTime (8).ToLocalTime (), /* lastLoginDate */ reader.GetDateTime (9).ToLocalTime (), /* lastActivityDate */ reader.GetDateTime (10).ToLocalTime (), /* lastPasswordChangedDate */ reader.GetDateTime (11).ToLocalTime () /* lastLockoutDate */); }
public static DateTime non_null_dt(DbDataReader rs, int idx) { return rs.IsDBNull(idx) ? DateTime.MinValue : rs.GetDateTime(idx); }
X509CrlRecord LoadCrlRecord (DbDataReader reader, X509CrlParser parser, ref byte[] buffer) { var record = new X509CrlRecord (); for (int i = 0; i < reader.FieldCount; i++) { switch (reader.GetName (i).ToUpperInvariant ()) { case "CRL": record.Crl = DecodeX509Crl (reader, parser, i, ref buffer); break; case "THISUPDATE": record.ThisUpdate = reader.GetDateTime (i); break; case "NEXTUPDATE": record.NextUpdate = reader.GetDateTime (i); break; case "DELTA": record.IsDelta = reader.GetBoolean (i); break; case "ID": record.Id = reader.GetInt32 (i); break; } } return record; }
X509CertificateRecord LoadCertificateRecord (DbDataReader reader, X509CertificateParser parser, ref byte[] buffer) { var record = new X509CertificateRecord (); for (int i = 0; i < reader.FieldCount; i++) { switch (reader.GetName (i).ToUpperInvariant ()) { case "CERTIFICATE": record.Certificate = DecodeCertificate (reader, parser, i, ref buffer); break; case "PRIVATEKEY": record.PrivateKey = DecodePrivateKey (reader, i, ref buffer); break; case "ALGORITHMS": record.Algorithms = DecodeEncryptionAlgorithms (reader, i); break; case "ALGORITHMSUPDATED": record.AlgorithmsUpdated = reader.GetDateTime (i); break; case "TRUSTED": record.IsTrusted = reader.GetBoolean (i); break; case "ID": record.Id = reader.GetInt32 (i); break; } } return record; }
private BasicMembershipPaymentStatus ReadMembershipPaymentStatusFromDataReader (DbDataReader reader) { int membershipId = reader.GetInt32(0); int membershipPaymentStatusId = reader.GetInt32(1); DateTime statusDateTime = reader.GetDateTime(2); return new BasicMembershipPaymentStatus(membershipId, (MembershipPaymentStatus)membershipPaymentStatusId, statusDateTime); }
private static BasicMembership ReadMembershipFromDataReader (DbDataReader reader) { int membershipId = reader.GetInt32(0); int personId = reader.GetInt32(1); int organizationId = reader.GetInt32(2); bool active = reader.GetBoolean(3); DateTime expires = reader.GetDateTime(4); DateTime memberSince = reader.GetDateTime(5); DateTime dateTerminated = reader.GetDateTime(6); // bool terminatedAsInvalid = reader.GetBoolean(7); Ignore this field for now return new BasicMembership(membershipId, personId, organizationId, memberSince, expires, active, dateTerminated); }
private BasicFinancialAccountRow ReadFinancialAccountRowFromDataReader (DbDataReader reader) { int accountId = reader.GetInt32(0); int transactionId = reader.GetInt32(1); DateTime transactionDateTime = reader.GetDateTime(2); string comment = reader.GetString(3); Int64 amountCents = reader.GetInt64(4); DateTime rowDateTime = reader.GetDateTime(5); int rowCreatedByPersonId = reader.GetInt32(6); return new BasicFinancialAccountRow(accountId, transactionId, transactionDateTime, comment, amountCents, rowDateTime, rowCreatedByPersonId); }
private BasicFinancialTransaction ReadFinancialTransactionFromDataReader (DbDataReader reader) { int transactionId = reader.GetInt32(0); int organizationId = reader.GetInt32(1); DateTime dateTime = reader.GetDateTime(2); string comment = reader.GetString(3); string importHash = reader.GetString(4); return new BasicFinancialTransaction(transactionId, organizationId, dateTime, comment, importHash); }
// 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(); } } } }
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); } }
private ProfileInfo ReadProfileInfo (DbDataReader reader) { string username = reader.GetString (0); bool anonymous = reader.GetInt32 (1) > 0; DateTime lastUpdate = reader.GetDateTime (2); DateTime lastActivity = reader.GetDateTime (3); int size = reader.GetInt32 (4); return new ProfileInfo (username, anonymous, lastActivity, lastUpdate, size); }
private List<Request> Read(DbDataReader reader) { List<Request> requests = new List<Request>(); while (reader.Read()) { SampleRequest er = new SampleRequest(); er.Id = reader.GetInt32(0); er.Type = reader.GetString(1); er.Description = reader.GetString(2); er.Created = reader.GetDateTime(3); requests.Add(er); } return requests; }
private static IEnumerable<Msg> IterateMessages(DbDataReader reader) { while(!reader.IsClosed && reader.Read()) { yield return new Msg { Time = reader.GetDateTime(0), Type = reader.TryGetString(1).TryParseOrDefault(MsgType.Unknown), Text = reader.TryGetString(2) }; } }
ProfileInfo ReadProfileInfo (DbDataReader reader) { ProfileInfo pi = null; try { string username = reader.GetString (0); bool anonymous = reader.GetBoolean (1); DateTime lastUpdate = reader.GetDateTime (2); DateTime lastActivity = reader.GetDateTime (3); int size = reader.GetInt32 (4); pi = new ProfileInfo (username, anonymous, lastActivity, lastUpdate, size); } catch { } return pi; }
MembershipUser GetUserFromReader (DbDataReader reader, string username, object userId) { int i = 0; if (username == null) i = 1; if (userId != null) username = reader.GetString (8); return new MembershipUser (this.Name, /* XXX is this right? */ (username == null ? reader.GetString (0) : username), /* name */ (userId == null ? reader.GetGuid (8 + i) : userId), /* providerUserKey */ reader.IsDBNull (0 + i) ? null : reader.GetString (0 + i), /* email */ reader.IsDBNull (1 + i) ? null : reader.GetString (1 + i), /* passwordQuestion */ reader.IsDBNull (2 + i) ? null : reader.GetString (2 + i), /* comment */ reader.GetBoolean (3 + i), /* isApproved */ reader.GetBoolean (9 + i), /* isLockedOut */ reader.GetDateTime (4 + i).ToLocalTime (), /* creationDate */ reader.GetDateTime (5 + i).ToLocalTime (), /* lastLoginDate */ reader.GetDateTime (6 + i).ToLocalTime (), /* lastActivityDate */ reader.GetDateTime (7 + i).ToLocalTime (), /* lastPasswordChangedDate */ reader.GetDateTime (10 + i).ToLocalTime () /* lastLockoutDate */); }