public IActionResult ReadCSVFile(VisualizationViewModel visualizationModel) { if (ModelState.IsValid) { if (!_context.CheckIfNameOfFileIsUnique(visualizationModel.NameOfFile)) { return(RedirectToAction("Index")); } var folderName = "Upload"; ReadFromCSVCollectionWithErrors records = new ReadFromCSVCollectionWithErrors(); var savePath = Path.Combine(_environment.WebRootPath, folderName, visualizationModel.CsvFile.FileName); using (var fileStream = new FileStream(savePath, FileMode.Create)) { visualizationModel.CsvFile.CopyTo(fileStream); } records = _csvReader.ReadContentOfCsvFile(savePath); if (records.Errors.Count == 0) { try { _context.AddDataFromNewCSVFile(records.CollectionOfRecords, visualizationModel.NameOfFile); return(RedirectToAction("Index", new { ModelNotValid = false })); } catch (Exception e) { records.Errors.Add("There was an error during saving data to database"); } } return(RedirectToAction("Index", new { ModelNotValid = true, Errors = records.Errors })); } else { return(RedirectToAction("Index", new { ModelNotValid = true })); } }