public IActionResult MaakExcel(Jobcoach jobcoach, int id) { try { // eerst kijken of deze analyse wel van deze jobcoach is Analyse mogelijkeAnalyse = jobcoach.Analyses.SingleOrDefault(a => a.AnalyseId == id); if (mogelijkeAnalyse == null || mogelijkeAnalyse.Verwijderd) { TempData["error"] = "U heeft geen toegang tot deze analyse! Open enkel analyses die u ziet " + "op de homepagina of in het archief."; } else { Analyse analyse = _analyseRepository.GetByIdAll(id); ExcelWriterResultaat excelWriter = new ExcelWriterResultaat(); string fileName = excelWriter.MaakExcel(analyse); byte[] fileBytes = System.IO.File.ReadAllBytes(outputDir + fileName); // bestand terug verwijderen van de server excelWriter.VerwijderBestand(); return(File(fileBytes, "application/x-msdownload", fileName)); } } catch (Exception e) { _exceptionLogRepository.Add(new ExceptionLog(e, "Resultaat", "MaakExcel")); _exceptionLogRepository.Save(); TempData["error"] = "Er ging iets fout tijdens het samenstellen van het Excel-bestand, probeer later opnieuw"; } return(RedirectToAction("Index")); }
public async Task <IActionResult> Mail(Jobcoach jobcoach, ResultaatMailViewModel model) { try { // eerst kijken of deze analyse wel van deze jobcoach is Analyse mogelijkeAnalyse = jobcoach.Analyses.SingleOrDefault(a => a.AnalyseId == model.AnalyseId); if (mogelijkeAnalyse == null || mogelijkeAnalyse.Verwijderd) { TempData["error"] = "U heeft geen toegang tot deze analyse! Open enkel analyses die u ziet " + "op de homepagina of in het archief."; } else { Analyse analyse = _analyseRepository.GetByIdAll(model.AnalyseId); ExcelWriterResultaat excelWriter = new ExcelWriterResultaat(); string fileName = excelWriter.MaakExcel(analyse); FileInfo file = new FileInfo("temp\\" + fileName); string naam = model.Voornaam + " " + model.Naam; bool gelukt = await EmailSender.SendResultaat(naam, model.Emailadres, model.Onderwerp, model.Bericht, file); // bestand terug verwijderen van de server excelWriter.VerwijderBestand(); if (gelukt) { TempData["message"] = "Het resultaat is succesvol verzonden"; } else { TempData["error"] = "Het is op dit moment niet mogelijk om mails te verzenden, probeer later opnieuw"; } } } catch (Exception e) { _exceptionLogRepository.Add(new ExceptionLog(e, "Resultaat", "Mail -- POST --")); _exceptionLogRepository.Save(); TempData["error"] = "Er ging iets fout tijdens het verzenden van het resultaat, probeer later opnieuw"; } return(RedirectToAction("Index")); }