Пример #1
0
            public override bool MoveNext()
            {
                if (Index < 0)                 // enumerator стоит перед первой записью
                {
                    MetaInfo = (TMetaInfo)((IMarketDataSerializer)Serializer).CreateMetaInfo(_originalMetaInfo.Date);
                    MetaInfo.CopyFrom(_originalMetaInfo);
                    Index = 0;
                }

                if (Index >= MetaInfo.Count)
                {
                    return(false);
                }

                if (Index == PartSize)
                {
                    PartSize += Reader.ReadInt();
                }

                Current  = Serializer.MoveNext(this);
                Previous = Current;

                if (Index == (PartSize - 1))
                {
                    //Reader.AlignReader();
                    if ((Reader.Offset % 8) != 0)
                    {
                        var shift = ((Reader.Offset / 8) * 8 + 8) - Reader.Offset;
                        Reader.Offset += shift;
                    }
                }

                Index++;

                return(true);
            }