// GET: Process/id public async Task <IActionResult> Process(int id) { if (id == null) { return(NotFound()); } var file = await _fileService.GetByIdAsync(id); if (file == null) { return(NotFound()); } var datatable2 = _excelServices.ReadSheet(file.Data, 0); List <SheetAdmissionValidationErrors> _lsheetAdmissionValidationError = new List <SheetAdmissionValidationErrors>(); List <SheetAdmission> ValidItems = new List <SheetAdmission>(); var isValid = _sheetAdmissionValidation.Validate(datatable2, ref _lsheetAdmissionValidationError, ref ValidItems); //Create a new workbook Workbook workbook = new Workbook(); //Load a file and imports its data System.IO.Stream stream = new System.IO.MemoryStream(file.Data); workbook.LoadFromStream(stream); //Initialize worksheet Worksheet sheet = workbook.Worksheets[0]; // get the data source that the grid is displaying data for DataTable datatable = sheet.ExportDataTable(); DataRow[] oDataRow = datatable.Select(); foreach (DataRow dr in oDataRow) { SheetAdmission lSheetAdmission = new SheetAdmission(); lSheetAdmission.FileId = id; try { lSheetAdmission.DeliveryDate = DateTime.Parse(dr[0].ToString()); } catch (Exception e) { // Block of code to handle errors } try { lSheetAdmission.Amount = Int32.Parse(dr[2].ToString()); } catch (Exception e) { // Block of code to handle errors } lSheetAdmission.ProductName = dr[1].ToString(); try { lSheetAdmission.UnitaryValue = Decimal.Parse(dr[3].ToString()); } catch (Exception e) { // Block of code to handle errors } string erros = ""; _validationErros.FormatErros(lSheetAdmission, ref erros); //Adiciona Itens await _sheetAdmissionService.AddAsync(lSheetAdmission); } //List<SheetAdmission> lsheetAdmission = new List<SheetAdmission>(); //var lsheetAdmission = _sheetAdmissionService.GetByIdIncludingTasksAsync(23); //List<ReportFileImports> reportFileImports = new List<ReportFileImports>(); var reportFileImports = _importsRepository.GetAllImports(); var reportFileImportsById = await _importsRepository.GetImportById(23); var FileStreamResult = FileDownload(file.Data, file.Name); return(FileStreamResult); }
public List <ReportFileImports> GetAllImports() { return(_repository.GetAllImports()); }