コード例 #1
0
        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"));
        }
コード例 #2
0
        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"));
        }