public static ImportRun RunTest(EntityType entityType, string fileName, ImportFormat importFormat, string sheetName = null) { string fileToken; using (Stream stream = SheetTestHelper.GetStream(fileName)) { fileToken = FileRepositoryHelper.AddTemporaryFile(stream); } EntityType type = entityType; ImportConfig importConfig = CreateImportConfig(type, importFormat, sheetName); ImportRun importRun = CreateImportRun(importConfig, fileToken); ISpreadsheetInspector inspector = Factory.Current.Resolve <ISpreadsheetInspector>( ); SpreadsheetInfo info = inspector.GetSpreadsheetInfo(fileToken, importFormat); SampleTable sample = inspector.GetSampleTable(fileToken, importFormat, sheetName, 1, 2, null); AddAllFields(importConfig, sample); // Run import IImportRunWorker worker = Factory.Current.Resolve <IImportRunWorker>( ); worker.StartImport(importRun.Id); return(importRun); }
public HttpResponseMessage <SpreadsheetInfo> GetSpreadsheetInfo([FromUri] FileInfo fileInfo, [FromUri] string sheet) { if (fileInfo == null) { throw new WebArgumentNullException(nameof(fileInfo)); } var errorResult = new SpreadsheetInfo( ); Interface.SpreadsheetInfo result; Interface.SampleTable sampleTable; string initialSheetId = null; try { result = _spreadsheetInspector.GetSpreadsheetInfo(fileInfo.FileId, GetFileFormat(fileInfo.FileFormat)); if (result == null) { return(new HttpResponseMessage <SpreadsheetInfo>(HttpStatusCode.NotFound)); } if (result.SheetCollection != null) { if (sheet != null) { initialSheetId = sheet; } else if (result.SheetCollection != null && result.SheetCollection.Count > 0) { // Assume a default initialSheetId = result.SheetCollection [0].SheetId; } } sampleTable = _spreadsheetInspector.GetSampleTable(fileInfo.FileId, GetFileFormat(fileInfo.FileFormat), initialSheetId, 1, 2, null); } catch (FileFormatException ex) { errorResult.ErrorMessage = ex.Message; EventLog.Application.WriteError("GetSpreadsheetInfo {0}", ex.Message); return(new HttpResponseMessage <SpreadsheetInfo>(errorResult, HttpStatusCode.UnsupportedMediaType)); } SpreadsheetInfo packedSpreadsheetInfo = PackSpreadsheetInfoResponse(result); if (sampleTable != null) { packedSpreadsheetInfo.InitialSampleTable = PackSampleTable(sampleTable); packedSpreadsheetInfo.InitialSheetId = initialSheetId; } return(new HttpResponseMessage <SpreadsheetInfo>(packedSpreadsheetInfo, HttpStatusCode.OK)); }