コード例 #1
0
ファイル: Hit.cs プロジェクト: radtek/genebank-gg_server
 public void Read(BinaryReader rdr, bool includeSortKey)
 {
     if (rdr == null || rdr.BaseStream.Position == rdr.BaseStream.Length)
     {
         ID           = int.MaxValue;
         PrimaryKeyID = int.MaxValue;
         FieldOrdinal = int.MaxValue;
         KeywordIndex = int.MaxValue;
         Fields       = new HitField[0];
     }
     else
     {
         if (includeSortKey)
         {
             ID = rdr.ReadInt32();
         }
         else
         {
             ID = 0;
         }
         PrimaryKeyID = rdr.ReadInt32();
         FieldOrdinal = rdr.ReadInt32();
         KeywordIndex = rdr.ReadInt32();
         byte fieldCount = rdr.ReadByte();
         Fields = new HitField[fieldCount];
         for (int i = 0; i < Fields.Length; i++)
         {
             Fields[i] = new HitField(rdr);
         }
     }
 }
コード例 #2
0
ファイル: Hit.cs プロジェクト: radtek/genebank-gg_server
        internal Hit CloneOnlyFields(int id, int pkID, int fieldOrdinal, int keywordIndex)
        {
            Hit h = new Hit {
                ID = id, PrimaryKeyID = pkID, FieldOrdinal = fieldOrdinal, KeywordIndex = keywordIndex
            };

            h.Fields = new HitField[this.Fields.Length];
            for (int i = 0; i < this.Fields.Length; i++)
            {
                HitField hf = Fields[i];
                h.Fields[i] = new HitField {
                    FieldOrdinal = hf.FieldOrdinal, Value = hf.Value
                };
            }
            return(h);
        }
コード例 #3
0
ファイル: Hit.cs プロジェクト: radtek/genebank-gg_server
        internal Hit(int id, int primaryKeyID, int fieldOrdinal, int keywordOffset, List <Field> indexedFields)
        {
            ID               = id;
            PrimaryKeyID     = primaryKeyID;
            FieldOrdinal     = fieldOrdinal;
            KeywordIndex     = keywordOffset;
            TemporaryIndexID = -1;

            if (indexedFields == null)
            {
                Fields = new HitField[0];
            }
            else
            {
                Fields = new HitField[indexedFields.Count];
                for (int i = 0; i < Fields.Length; i++)
                {
                    Fields[i] = new HitField {
                        FieldOrdinal = indexedFields[i].Ordinal, Value = Toolkit.ToInt32(indexedFields[i].Value, -1)
                    };
                }
            }
        }