示例#1
0
 private long GetIndexedDirectoryFilesCount(string path)
 {
     using (var reader = new IndexFileReader(IndexPaths.GetIdxFilePath(path)))
     {
         return(reader.ReadAll().Count());
     }
 }
示例#2
0
        private void LookForSequenceInIndexedDirectory(MainViewModel vm, string path, string sequence, ICollection <SearchCondition> conditions = null)
        {
            using (var reader = new IndexFileReader(IndexPaths.GetIdxFilePath(path)))
            {
                IEnumerable <IndexedItem> items = reader.ReadAll();
                //Parallel.ForEach(items, (item) =>
                //{
                foreach (var item in items)
                {
                    var size = (double)item.Length / 1024 / 1024;
                    if (CheckSearchConditions(item, conditions) && CheckDateRange(item, vm.SearchDatesRange) && CheckSizeRange(item, vm.SizeRange))
                    {
                        if (sequence.Equals("*") || item.Name.ToLower().Contains(sequence.ToLower()))
                        {
                            vm.SearchResults.Add(item);
                            vm.TotalFilesMatch++;
                            _cancellationToken.ThrowIfCancellationRequested();
                        }

                        vm.TotalFilesSize += size;
                        vm.TotalFilesCount++;
                        vm.CurrentProgressBarValue++;
                    }
                }
                //});
            }
        }
        public void TestWritingSimpleRecord()
        {
            var records = new List<IReferenceRecord>();
            var record = new ReferenceRecord();
            const string Key = @"Name";
            const string Value = @"Alexanderplatz";
            record.Properties.Add(Key, Value);
            records.Add(record);

            var indexWriter = new IndexFileWriter();
            var indexFile = new FileInfo(Path.GetTempFileName());
            indexWriter.WriteFile(indexFile, records);

            var indexReader = new IndexFileReader();
            var writtenRecords = indexReader.ReadFile(indexFile);
            var writtenRecord = Enumerable.First<IReferenceRecord>(writtenRecords);
            Assert.AreEqual(record.Properties.Count, writtenRecord.Properties.Count, @"The number of properties do not match!");
            Assert.IsTrue(writtenRecord.Properties.ContainsKey(Key), @"There is no property having a key equal to 'Name'!");
            Assert.AreEqual(record.Properties[Key], writtenRecord.Properties[Key], @"The property values do not match!");
        }
        public void TestWritingCsvRecords()
        {
            var reader = new CsvFileReader();
            var dataset = reader.ReadFile(new FileInfo(@"data/ReferenceDataset1.csv"), true, ',');
            Assert.AreEqual(1, dataset.Records.Count, @"Record count is wrong!");

            var record = Enumerable.First<IReferenceRecord>(dataset.Records);
            const string Key = @"Name";

            var indexWriter = new IndexFileWriter();
            var indexFile = new FileInfo(Path.GetTempFileName());
            indexWriter.WriteFile(indexFile, dataset.Records);

            var indexReader = new IndexFileReader();
            var writtenRecords = indexReader.ReadFile(indexFile);
            var writtenRecord = Enumerable.First<IReferenceRecord>(writtenRecords);
            Assert.AreEqual(record.Properties.Count, writtenRecord.Properties.Count, @"The number of properties do not match!");
            Assert.IsTrue(writtenRecord.Properties.ContainsKey(@"Name"), @"There is no property having a key equal to 'Name'!");
            Assert.AreEqual(record.Properties[Key], writtenRecord.Properties[Key], @"The property values do not match!");
        }
示例#5
0
        public void TestWritingCsvRecords()
        {
            var reader  = new CsvFileReader();
            var dataset = reader.ReadFile(new FileInfo(@"data/ReferenceDataset1.csv"), true, ',');

            Assert.AreEqual(1, dataset.Records.Count, @"Record count is wrong!");

            var          record = Enumerable.First <IReferenceRecord>(dataset.Records);
            const string Key    = @"Name";

            var indexWriter = new IndexFileWriter();
            var indexFile   = new FileInfo(Path.GetTempFileName());

            indexWriter.WriteFile(indexFile, dataset.Records);

            var indexReader    = new IndexFileReader();
            var writtenRecords = indexReader.ReadFile(indexFile);
            var writtenRecord  = Enumerable.First <IReferenceRecord>(writtenRecords);

            Assert.AreEqual(record.Properties.Count, writtenRecord.Properties.Count, @"The number of properties do not match!");
            Assert.IsTrue(writtenRecord.Properties.ContainsKey(@"Name"), @"There is no property having a key equal to 'Name'!");
            Assert.AreEqual(record.Properties[Key], writtenRecord.Properties[Key], @"The property values do not match!");
        }
示例#6
0
        public void TestWritingSimpleRecord()
        {
            var          records = new List <IReferenceRecord>();
            var          record  = new ReferenceRecord();
            const string Key     = @"Name";
            const string Value   = @"Alexanderplatz";

            record.Properties.Add(Key, Value);
            records.Add(record);

            var indexWriter = new IndexFileWriter();
            var indexFile   = new FileInfo(Path.GetTempFileName());

            indexWriter.WriteFile(indexFile, records);

            var indexReader    = new IndexFileReader();
            var writtenRecords = indexReader.ReadFile(indexFile);
            var writtenRecord  = Enumerable.First <IReferenceRecord>(writtenRecords);

            Assert.AreEqual(record.Properties.Count, writtenRecord.Properties.Count, @"The number of properties do not match!");
            Assert.IsTrue(writtenRecord.Properties.ContainsKey(Key), @"There is no property having a key equal to 'Name'!");
            Assert.AreEqual(record.Properties[Key], writtenRecord.Properties[Key], @"The property values do not match!");
        }