Exemplo n.º 1
0
 public WorkoutPlan(DbDataReader reader)
 {
     _id = reader.GetInt64(0);
     _title = reader.GetValue(1).ToString() == "" ? "" : reader.GetString(1);
     _period = reader.GetValue(2).ToString() == "" ? (byte)0 : reader.GetByte(2);
     _creatorId = reader.GetValue(3).ToString() == "" ? 0 : reader.GetInt64(3);
 }
Exemplo n.º 2
0
        public SelectedSnapshot Map(DbDataReader reader)
        {
            var persistenceId = reader.GetString(0);
            var sequenceNr = reader.GetInt64(1);
            var timestamp = new DateTime(reader.GetInt64(2));

            var metadata = new SnapshotMetadata(persistenceId, sequenceNr, timestamp);
            var snapshot = GetSnapshot(reader);

            return new SelectedSnapshot(metadata, snapshot);
        }
        private BasicOutboundInvoiceItem ReadOutboundInvoiceItemFromDataReader (DbDataReader reader)
        {
            int outboundInvoiceItemId = reader.GetInt32(0);
            int outboundInvoiceId = reader.GetInt32(1);
            string description = reader.GetString(2);
            Int64 amountCents = reader.GetInt64(3);

            return new BasicOutboundInvoiceItem(outboundInvoiceItemId, outboundInvoiceId, description, amountCents);
        }
Exemplo n.º 4
0
        public IPersistentRepresentation Map(DbDataReader reader, IActorRef sender = null)
        {
            var persistenceId = reader.GetString(0);
            var sequenceNr = reader.GetInt64(1);
            var isDeleted = reader.GetBoolean(2);
            var payload = GetPayload(reader);

            return new Persistent(payload, sequenceNr, persistenceId, isDeleted, sender);
        }
Exemplo n.º 5
0
        public IPersistentRepresentation Map(DbDataReader reader, IActorRef sender = null)
        {
            var persistenceId = reader.GetString(PersistenceIdIndex);
            var sequenceNr = reader.GetInt64(SequenceNrIndex);
            var isDeleted = reader.GetBoolean(IsDeletedIndex);
            var manifest = reader.GetString(ManifestIndex);

            // timestamp is SQL-journal specific field, it's not a part of casual Persistent instance  
            var payload = GetPayload(reader, manifest);

            return new Persistent(payload, sequenceNr, persistenceId, manifest, isDeleted, sender);
        }
        private BasicPayrollAdjustment ReadPayrollAdjustmentFromDataReader(DbDataReader reader)
        {
            int payrollAdjustmentId = reader.GetInt32(0);
            int payrollAdjustmentTypeId = reader.GetInt32(1);
            int payrollItemId = reader.GetInt32(2);
            Int64 amountCents = reader.GetInt64(3);
            string description = reader.GetString(4);
            bool open = reader.GetBoolean(5);
            int salaryId = reader.GetInt32(6);

            return new BasicPayrollAdjustment(payrollAdjustmentId, payrollItemId,
                                              (PayrollAdjustmentType) payrollAdjustmentTypeId,
                                              amountCents, description, open, salaryId);
        }
Exemplo n.º 7
0
 static int GetInt64(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);
         long o    = obj.GetInt64(arg0);
         LuaDLL.tolua_pushint64(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Exemplo n.º 8
0
        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 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);
        }
Exemplo n.º 10
0
        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));
                }
            }
        }
Exemplo n.º 11
0
        private void ProcessRecord(DbDataReader record, DbOperation dbOperation)
#endif
        {
            var id = record.GetInt64(0);
            ScaleoutMessage message = SqlPayload.FromBytes(record);

            _logger.LogVerbose(String.Format("{0}SqlReceiver last payload ID={1}, new payload ID={2}", _loggerPrefix, _lastPayloadId, id));

            if (id > _lastPayloadId + 1)
            {
                _logger.LogError(String.Format("{0}Missed message(s) from SQL Server. Expected payload ID {1} but got {2}.", _loggerPrefix, _lastPayloadId + 1, id));
            }
            else if (id <= _lastPayloadId)
            {
                _logger.LogInformation(String.Format("{0}Duplicate message(s) or payload ID reset from SQL Server. Last payload ID {1}, this payload ID {2}", _loggerPrefix, _lastPayloadId, id));
            }

            _lastPayloadId = id;

            // Update the Parameter with the new payload ID
            dbOperation.Parameters[0].Value = _lastPayloadId;

            _logger.LogVerbose(String.Format("{0}Updated receive reader initial payload ID parameter={1}", _loggerPrefix, _dbOperation.Parameters[0].Value));

            _logger.LogVerbose(String.Format("{0}Payload {1} containing {2} message(s) received", _loggerPrefix, id, message.Messages.Count));

            Received((ulong)id, message);
        }
Exemplo n.º 12
0
 /// <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);
 }
Exemplo n.º 13
0
 /// <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);
 }
Exemplo n.º 14
0
 protected override object ReadInternal(DbDataReader reader, int ordinal, SqlRandomTableColumn columnInfo, Type asType)
 {
     ValidateReadType(typeof(Int64), asType);
     if (reader.IsDBNull(ordinal))
         return DBNull.Value;
     return reader.GetInt64(ordinal);
 }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        protected virtual IPersistedRawEvent ReadEvent(DbDataReader reader, Stream stream)
        {
            // select order
            // Field: GlobalSequence, EventID, StreamHash, StreamName, EventType, UtcTimestamp, Metadata, Payload, PayloadFormat
            // Index: 0               1        2           3           4          5             6         7        8

            if (stream != null)
                stream = new Stream(stream, reader.GetString(3));
            else
                stream = new Stream((byte[])reader[2], reader.GetString(3));

            return new PersistedRawEvent
            {
                GlobalSequence = reader.GetInt64(0),
                EventID = reader.GetGuid(1),
                Stream = stream,
                EventType = reader.GetString(4),
                UtcTimestamp = reader.GetDateTime(5),
                Metadata = reader.IsDBNull(6) ? null : (byte[])reader[6],
                Payload = (byte[])reader[7],
                PayloadFormat = reader.GetInt32(8)
            };
        }
Exemplo n.º 18
0
 protected LabTask readTask(DbDataReader dataReader)
 {
     LabTask taskInfo = new LabTask();
     try
     {
         taskInfo.taskID = dataReader.GetInt64(0);
         taskInfo.labAppID = dataReader.GetInt32(1);
         if (!dataReader.IsDBNull(2))
             taskInfo.experimentID = dataReader.GetInt64(2);
         taskInfo.groupName = dataReader.GetString(3);
         taskInfo.startTime = dataReader.GetDateTime(4);
         taskInfo.endTime = dataReader.GetDateTime(5);
         taskInfo.Status = (LabTask.eStatus)dataReader.GetInt32(6);
         if (!DBNull.Value.Equals(dataReader.GetValue(7)))
             taskInfo.couponID = dataReader.GetInt64(7);
         if (!DBNull.Value.Equals(dataReader.GetValue(8)))
             taskInfo.issuerGUID = dataReader.GetString(8);
         if (!dataReader.IsDBNull(9))
             taskInfo.storage = dataReader.GetString(9);
         if (!dataReader.IsDBNull(10))
             taskInfo.data = dataReader.GetString(10);
     }
     catch (Exception e)
     {
         taskInfo = null;
     }
     return taskInfo;
 }
Exemplo n.º 19
0
 /// <summary>
 /// Конструктор класса Work
 /// </summary>
 public Work(DbDataReader reader)
 {
     this.id = reader.GetInt64(0);
     this.resultId = reader.GetValue(1).ToString() == "" ? 0 : reader.GetInt64(1);
     this.workoutId = reader.GetValue(2).ToString() == "" ? 0 : reader.GetInt64(2);
     this.workTypeId = reader.GetValue(3).ToString() == "" ? 0 : reader.GetInt64(3);
     this.comment = reader.GetValue(4).ToString() == "" ? "" : reader.GetString(4);
 }
 private static Int64? GetInt64(DbDataReader reader, int index)
 {
     if (reader.IsDBNull(index))
         return null;
     else
         return reader.GetInt64(index);
 }
Exemplo n.º 21
0
 /// <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);
 }
Exemplo n.º 22
0
 public User(DbDataReader record)
 {
     this._id = record.GetInt64(0);
     this._name = record.GetValue(1).ToString() == "" ? "" : record.GetString(1);
     this._lastName = record.GetValue(2).ToString() == "" ? "" : record.GetString(2);
     this._fatherName = record.GetValue(3).ToString() == "" ? "" : record.GetString(3);
     this._phone = record.GetValue(4).ToString() == "" ? "" : record.GetString(4);
     this._bDay = record.GetValue(5).ToString() == "" ? 0 : record.GetInt64(5);
     this._sex = record.GetValue(6).ToString() == "" ? "" : record.GetString(6);
     this._login = record.GetValue(7).ToString() == "" ? "" : record.GetString(7);
     this._password = record.GetValue(8).ToString() == "" ? "" : record.GetString(8);
     this._createDate = record.GetValue(9).ToString() == "" ? 0 : record.GetInt64(9);
 }
Exemplo n.º 23
0
 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;
     }
 }
Exemplo n.º 24
0
        protected ProcessAgentInfo readAgentInfo(DbDataReader dataReader)
        {
            long idIn = -1;
            long idOut = -1;
            string passIn = null;
            string passOut = null;
            ProcessAgentInfo info = new ProcessAgentInfo();
            info.agentId = dataReader.GetInt32(0);
            info.agentGuid = dataReader.GetString(1);
            if (!DBNull.Value.Equals(dataReader.GetValue(2)))
                info.agentName = dataReader.GetString(2);
            info.agentType = (ProcessAgentType.AgentType) dataReader.GetInt32(3);
            if (!DBNull.Value.Equals(dataReader.GetValue(4)))
                info.codeBaseUrl = dataReader.GetString(4);
            info.webServiceUrl = dataReader.GetString(5);
            if (!DBNull.Value.Equals(dataReader.GetValue(6)))
                info.domainGuid = dataReader.GetString(6);
             if (!DBNull.Value.Equals(dataReader.GetValue(7)))
                info.issuerGuid = dataReader.GetString(7);
            if (!DBNull.Value.Equals(dataReader.GetValue(8)))
                idIn = dataReader.GetInt64(8);
            if (!DBNull.Value.Equals(dataReader.GetValue(9)))
                passIn = dataReader.GetString(9);
            if (!DBNull.Value.Equals(dataReader.GetValue(10)))
                idOut =dataReader.GetInt64(10);
            if (!DBNull.Value.Equals(dataReader.GetValue(11)))
                passOut = dataReader.GetString(11);
            if (!DBNull.Value.Equals(dataReader.GetValue(12)))
                info.retired = dataReader.GetBoolean(12);
            if (info.issuerGuid != null)
            {
                if (idIn > 0)
                {
                    Coupon couponIn = new Coupon();
                    couponIn.couponId = idIn;
                    couponIn.issuerGuid = info.issuerGuid;
                    couponIn.passkey = passIn;
                    info.identIn = couponIn;
                }
                else
                {
                    info.identIn = null;
                }
                if (idOut > 0)
                {

                    Coupon couponOut = new Coupon();
                    couponOut.couponId = idOut;
                    couponOut.issuerGuid = info.issuerGuid;
                    couponOut.passkey = passOut;
                    info.identOut = couponOut;
                }
                else
                {
                    info.identOut = null;
                }
            }
            return info;
        }
        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;
        }
Exemplo n.º 26
0
        private int CheckDbAndIndex(DbDataReader dbreader, IndexReader ixreader, List<Difference> result)
        {
            var versionId = dbreader.GetInt32(0);
            var dbNodeTimestamp = dbreader.GetInt64(1);
            var dbVersionTimestamp = dbreader.GetInt64(2);

            var termDocs = ixreader.TermDocs(new Lucene.Net.Index.Term(LucObject.FieldName.VersionId, Lucene.Net.Util.NumericUtils.IntToPrefixCoded(versionId)));
            Lucene.Net.Documents.Document doc = null;
            int docid = -1;
            if (termDocs.Next())
            {
                docid = termDocs.Doc();
                doc = ixreader.Document(docid);
                var indexNodeTimestamp = ParseLong(doc.Get(LucObject.FieldName.NodeTimestamp));
                var indexVersionTimestamp = ParseLong(doc.Get(LucObject.FieldName.VersionTimestamp));
                var nodeId = ParseInt(doc.Get(LucObject.FieldName.NodeId));
                var version = doc.Get(LucObject.FieldName.Version);
                var p = doc.Get(LucObject.FieldName.Path);
                if (termDocs.Next())
                {
                    result.Add(new Difference(IndexDifferenceKind.MoreDocument)
                    {
                        DocId = docid,
                        NodeId = nodeId,
                        VersionId = versionId,
                        Version = version,
                        Path = p,
                        DbNodeTimestamp = dbNodeTimestamp,
                        DbVersionTimestamp = dbVersionTimestamp,
                        IxNodeTimestamp = indexNodeTimestamp,
                        IxVersionTimestamp = indexVersionTimestamp,
                    });
                }
                if (dbVersionTimestamp != indexVersionTimestamp)
                {
                    result.Add(new Difference(IndexDifferenceKind.DifferentVersionTimestamp)
                    {
                        DocId = docid,
                        VersionId = versionId,
                        DbNodeTimestamp = dbNodeTimestamp,
                        DbVersionTimestamp = dbVersionTimestamp,
                        IxNodeTimestamp = indexNodeTimestamp,
                        IxVersionTimestamp = indexVersionTimestamp,
                        NodeId = nodeId,
                        Version = version,
                        Path = p
                    });
                }
                if (dbNodeTimestamp != indexNodeTimestamp)
                {
                    var ok = false;
                    var isLastDraft = doc.Get(LucObject.FieldName.IsLastDraft);
                    if (isLastDraft != BooleanIndexHandler.YES)
                    {
                        var latestDocs = ixreader.TermDocs(new Lucene.Net.Index.Term(LucObject.FieldName.NodeId, Lucene.Net.Util.NumericUtils.IntToPrefixCoded(nodeId)));
                        Lucene.Net.Documents.Document latestDoc = null;
                        while (latestDocs.Next())
                        {
                            var latestdocid = latestDocs.Doc();
                            var d = ixreader.Document(latestdocid);
                            if (d.Get(LucObject.FieldName.IsLastDraft) != BooleanIndexHandler.YES)
                                continue;
                            latestDoc = d;
                            break;
                        }
                        var latestPath = latestDoc.Get(LucObject.FieldName.Path);
                        if (latestPath == p)
                            ok = true;
                    }
                    if (!ok)
                    {
                        result.Add(new Difference(IndexDifferenceKind.DifferentNodeTimestamp)
                        {
                            DocId = docid,
                            VersionId = versionId,
                            DbNodeTimestamp = dbNodeTimestamp,
                            DbVersionTimestamp = dbVersionTimestamp,
                            IxNodeTimestamp = indexNodeTimestamp,
                            IxVersionTimestamp = indexVersionTimestamp,
                            NodeId = nodeId,
                            Version = version,
                            Path = p
                        });
                    }
                }
            }
            else
            {
                result.Add(new Difference(IndexDifferenceKind.NotInIndex)
                {
                    DocId = docid,
                    VersionId = versionId,
                    DbNodeTimestamp = dbNodeTimestamp,
                    DbVersionTimestamp = dbVersionTimestamp,
                });
            }
            return docid;
        }
Exemplo n.º 27
0
 /// <summary>
 /// Vendor-independent database reader.
 /// </summary>
 public static int ReadInt(DbDataReader dataReader, int column)
 {
     if (DatabaseLanguageIsMsSql.Value)
         return dataReader.GetInt32(column);
     else if (DatabaseLanguageIsOracle.Value)
         return Convert.ToInt32(dataReader.GetInt64(column)); // On some systems, reading from NUMERIC(10) column will return Int64, and GetInt32 would fail.
     else
         throw new FrameworkException(UnsupportedLanguageError);
 }
Exemplo n.º 28
0
        // 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();

                    }
                }
            }
        }
Exemplo n.º 29
0
        protected virtual SelectedSnapshot ReadSnapshot(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);
        }
Exemplo n.º 30
0
 /// <summary>
 /// Конструктор класса Athlete
 /// </summary>
 /// <param name="record"></param>
 public Athlete(DbDataReader record)
 {
     this._id = record.GetInt64(0);
     this._sportTypeId = record.GetValue(1).ToString() == "" ? (byte)0 : record.GetByte(1);
     this._sportCategoryId = record.GetValue(2).ToString() == "" ? (byte)0 : record.GetByte(2);
     this._address = record.GetValue(3).ToString() == "" ? "" : record.GetString(3);
     this._place = record.GetValue(4).ToString() == "" ? "" : record.GetString(4);
     this._userId = record.GetValue(5).ToString() == "" ? 0 : record.GetInt64(5);
     this._createDate = record.GetValue(6).ToString() == "" ? 0 : record.GetInt64(6);
 }
 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);
     }
 }