コード例 #1
0
        internal EduHubDataSetDeltaReader(EduHubDataSet <T> DataSet)
        {
            if (DataSet == null)
            {
                throw new ArgumentNullException(nameof(DataSet));
            }

            DataSet.EnsureDeltaAvailable();

            dataSet = DataSet;
            context = DataSet.Context;

            // Copy to memory stream (don't directly process eduHub files)
            var stream = new MemoryStream();

            using (var fileStream = new FileStream(dataSet.Filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                fileStream.CopyTo(stream);
            stream.Position = 0;

            // Initialize Csv Reader
            reader = new CsvReader(stream);

            // Load delta entities
            deltaEntities = dataSet.LoadDelta().ToList();
        }
コード例 #2
0
        internal EduHubDataSetReader(EduHubDataSet <T> DataSet, string Filename)
        {
            if (DataSet == null)
            {
                throw new ArgumentNullException(nameof(DataSet));
            }
            if (Filename == null)
            {
                throw new ArgumentNullException(nameof(Filename));
            }
            if (!File.Exists(Filename))
            {
                throw new FileNotFoundException("eduHub data set not found", Filename);
            }

            dataSet = DataSet;
            context = DataSet.Context;

            // Copy to memory stream (don't directly process eduHub files)
            var stream = new MemoryStream();

            using (var fileStream = new FileStream(Filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                fileStream.CopyTo(stream);
            stream.Position = 0;

            // Initialize Csv Reader
            reader = new CsvReader(stream);
        }
コード例 #3
0
        internal EduHubDataSetLoadedReader(EduHubDataSet <T> DataSet, List <T> Items)
        {
            if (DataSet == null)
            {
                throw new ArgumentNullException(nameof(DataSet));
            }

            dataSet = DataSet;
            context = DataSet.Context;
            items   = Items;
            index   = -1;

            entityLastModifiedMax = new Lazy <DateTime?>(CalculateEntityLastModifiedMax);
        }
コード例 #4
0
 internal EduHubDataSetReader(EduHubDataSet <T> DataSet)
     : this(DataSet, DataSet.Filename)
 {
 }