public EmployerLoadResult Load(Stream stream) { var textReader = new StreamReader(stream); var csv = new CsvReader(textReader); csv.Configuration.RegisterClassMap <EmployerCsvMap>(); var fileLoadResult = new EmployerLoadResult(); try { var fileData = csv.GetRecords <FileUploadEmployer>().ToList(); fileLoadResult.Data = fileData; } catch (ReaderException re) { fileLoadResult.Error = $"{FailedToImportMessage} {re.Message} {re.InnerException?.Message}"; } catch (ValidationException ve) { fileLoadResult.Error = $"{FailedToImportMessage} {ve.Message} {ve.InnerException?.Message}"; } catch (BadDataException bde) { fileLoadResult.Error = $"{FailedToImportMessage} {bde.Message} {bde.InnerException?.Message}"; } return(fileLoadResult); }
public EmployerLoadResult Load(Stream stream) { var fileLoadResult = new EmployerLoadResult(); var fileUploadEmployers = new List <FileUploadEmployer>(); using (var document = SpreadsheetDocument.Open(stream, false)) { var workbookPart = document.WorkbookPart; var sheets = workbookPart.Workbook.GetFirstChild <Sheets>().Elements <Sheet>(); var relationshipId = sheets.First().Id.Value; var worksheetPart = (WorksheetPart)document.WorkbookPart.GetPartById(relationshipId); var workSheet = worksheetPart.Worksheet; var sheetData = workSheet.GetFirstChild <SheetData>(); var rows = sheetData.Descendants <Row>().ToList(); rows.RemoveAt(0); foreach (var row in rows) { var fileUploadEmployer = CreateEmployer(document, row); fileUploadEmployers.Add(fileUploadEmployer); } fileLoadResult.Data = fileUploadEmployers; return(fileLoadResult); } }
public CsvLoadedSuccess() { var fileReader = new CsvEmployerFileReader(); using (var stream = File.Open(DataFilePath, FileMode.Open)) { _loadResult = fileReader.Load(stream); _firstRecord = _loadResult.Data[0]; } }