public IActionResult CsvExport() { var allMembers = _parteiDbContext.Members.ToList(); CSVExportManager.CreateMemberCSV(CSVExportManager.MapMemberToModelMember(allMembers), "wwwroot/export/export.csv"); var net = new System.Net.WebClient(); var data = net.DownloadData("wwwroot/export/export.csv"); var content = new System.IO.MemoryStream(data); var contentType = "application/vnd.ms-excel"; var fileName = "export.csv"; return(File(content, contentType, fileName)); }
public async Task <IActionResult> CsvImport(IFormFile file) { int organisationId = 2; // TODO hier noch die Anpassung machen!!! if (file == null) { throw new FileNotFoundException("Fehler beim einlesen der CSV-Datei."); } if (!Path.GetExtension(file.FileName).EndsWith(".csv")) { throw new FileNotFoundException("Es handelt sich nicht um eine CSV-Datei."); } var fileName = System.IO.Path.GetFileName(file.FileName); var path = "wwwroot/export/" + fileName; if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } using (var localFile = System.IO.File.OpenWrite(path)) using (var uploadedFile = file.OpenReadStream()) { uploadedFile.CopyTo(localFile); } foreach (var modelMember in CSVExportManager.ReadMemberCSV(path).Users) { _parteiDbContext.Add(CSVExportManager.MapModelMemberToMember(modelMember, Guid.NewGuid().ToString(), organisationId)); } _parteiDbContext.SaveChanges(); System.IO.File.Delete(path); var allMembers = _parteiDbContext.Members.ToList(); return(RedirectToAction("Index")); }