public override IOperation Extract(Process process, Entity entity, bool firstRun) { var union = new SerialUnionAllOperation(entity); foreach (var file in new DirectoryInfo(Folder).GetFiles(SearchPattern, SearchOption)) { File = file.FullName; if (Is.Excel()) { union.Add(new FileExcelExtract(this, entity)); } else { if (Is.Delimited()) { union.Add(new FileDelimitedExtract(this, entity)); } else { union.Add(new FileFixedExtract(this, entity)); } } union.Add(); } return(union); }
public override IOperation Extract(Process process, Entity entity, bool firstRun) { if (Direct) { return(new FileContentsExtract(this, entity)); } if (Is.Excel()) { return(new FileExcelExtract(this, entity)); } if (Is.Delimited()) { return(new FileDelimitedExtract(this, entity)); } return(new FileFixedExtract(this, entity)); }