Ejemplo n.º 1
0
        /// <summary>
        ///		Loads the specified file and positions at the first data item.
        /// </summary>
        /// <exception cref="System.IO.FileNotFoundException">
        ///		The <paramref name="dataFile"/> does not exist on disk.
        /// </exception>
        private void ReadFile(IRepositoryFile dataFile)
        {
            // passing null for equally timestamped items comparer, data items are read in the same
            // order as they were written; no sorting when reading by design
            IDataFileAccessor accessor = GetAccessor(dataFile);

            // will throw exception if file not found or failed to read
            accessor.ReadFromFile();

            IList <IDataItem> dataList = accessor.GetAllItems();

            if (Backwards)
            {
                _listReader = new BackwardListReader <IDataItem>(dataList);
            }
            else
            {
                _listReader = new ForwardListReader <IDataItem>(dataList);
            }
            this.LoadedFile = dataFile;

            Check.Ensure(_listReader.HasItem);
            Check.Ensure(CurrentItem != null);
        }