public ImportDatViewModel(ImportDat view, string datPath) { _view = view; CloseCommand = ReactiveCommand.Create(ExecuteCloseCommand); IndeterminateProgress = true; ProgressVisible = false; ErrorVisible = false; _worker = new DatImporter(datPath, null); _worker.ErrorOccurred += OnWorkerOnErrorOccurred; _worker.SetIndeterminateProgress += OnWorkerOnSetIndeterminateProgress; _worker.SetMessage += OnWorkerOnSetMessage; _worker.SetProgress += OnWorkerOnSetProgress; _worker.SetProgressBounds += OnWorkerOnSetProgressBounds; _worker.WorkFinished += OnWorkerOnWorkFinished; }
public override IImporter BuildImporter() { DatImporter importer = new DatImporter(Delimiters.ToDelimiters()); importer.Builder.HasHeader = HasHeader; importer.Builder.KeyColumnName = KeyColumnName; importer.Builder.ParentColumnName = ParentColumnName; importer.Builder.ChildColumnName = ChildColumnName; importer.Builder.ChildSeparator = ChildColumnDelimiter; importer.Builder.RepresentativeBuilders = (LinkedFiles != null) ? LinkedFiles.Select(f => f.GetBuilder()).ToList() : null; importer.FolderPrependFields = FolderPrependFields; importer.FolderPrependLinks = FolderPrependLinks; return(importer); }
public void Importers_DatImporter_Test() { // arrange FileInfo infile = new FileInfo(@"X:\VOL001\infile.lfp"); Encoding encoding = Encoding.GetEncoding(1252); Delimiters delimiters = Delimiters.CONCORDANCE; bool hasHeader = true; string keyColName = "DOCID"; string parentColName = "BEGATT"; string childColName = String.Empty; string childColDelim = ";"; RepresentativeBuilder repSetting = new RepresentativeBuilder("NATIVE", Representative.FileType.Native); List <RepresentativeBuilder> reps = new List <RepresentativeBuilder>(); reps.Add(repSetting); var builder = new DatBuilder(); builder.HasHeader = hasHeader; builder.KeyColumnName = keyColName; builder.ParentColumnName = parentColName; builder.ChildColumnName = childColName; builder.ChildSeparator = childColDelim; builder.RepresentativeBuilders = reps; builder.PathPrefix = infile.Directory.FullName; var mockParser = new Mock <DatParser>(MockBehavior.Strict); mockParser.Setup(p => p.Parse(It.IsAny <TextReader>())).Returns(records); mockParser.Setup(p => p.Parse(It.IsAny <FileInfo>(), It.IsAny <Encoding>())).Returns(records); importer = new DatImporter(mockParser.Object); importer.Builder = builder; // act DocumentCollection docs = importer.Import(infile, encoding); // assert Assert.AreEqual(10, docs.Count); Assert.AreEqual(0, docs.ImageCount); Assert.AreEqual(0, docs.TextCount); Assert.AreEqual(1, docs.NativeCount); Assert.AreEqual(3, docs.ParentCount); Assert.AreEqual(5, docs.ChildCount); Assert.AreEqual(2, docs.StandAloneCount); Assert.AreEqual("DOC000001", docs[0].Metadata["DOCID"]); }