示例#1
0
        public async Task <IActionResult> VerstuurMailMetPdf(MailMetPdfViewModel model)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            if (ModelState.IsValid)
            {
                try
                {
                    JobCoach jc       = _jobCoachRepository.GetByEmail(User.Identity.Name);
                    var      dir      = Path.Combine(_environment.WebRootPath, "pdfs");
                    var      fileName = "";
                    if (Directory.Exists(dir))
                    {
                        fileName = dir + "\\pdf_" + User.Identity.Name + ".pdf";
                    }


                    await MailVerzender.StuurPdf(jc.Voornaam + jc.Naam, jc.Email, model.OntvangerMail, model.Onderwerp, model.Inhoud, fileName);

                    TempData["message"] = "Uw email naar " + model.OntvangerMail + " werd succesvol verstuurd.";
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception e)
                {
                    TempData["error"] = "Iets is misgelopen, uw email werd niet verstuurd.";
                    ModelState.AddModelError("", e.Message);
                }
            }

            return(View(model));
        }
示例#2
0
 public IActionResult BevestigVerwijderGeselecteerde()
 {
     AnalyseFilter.HaalAnalyseUitSessie(HttpContext);
     ViewData["mails"] =
         JsonConvert.DeserializeObject <ICollection <InterneMailJobcoach> >(HttpContext.Session.GetString("mails")).Count;
     return(View());
 }
示例#3
0
        public async Task <IActionResult> DoorgaanMetOpslaan(ProfielAanpassenViewModel model)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            if (ModelState.IsValid)
            {
                try
                {
                    JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name);
                    jc.BusBedrijf      = model.Bus;
                    jc.GemeenteBedrijf = model.Gemeente;
                    jc.Naam            = model.Naam;
                    jc.NaamBedrijf     = model.NaamBedrijf;
                    jc.NummerBedrijf   = model.Nummer;
                    jc.PostcodeBedrijf = model.Postcode;
                    jc.StraatBedrijf   = model.Straat;
                    jc.Voornaam        = model.Voornaam;
                    _jobCoachRepository.SaveChanges();
                    ApplicationUser user = await _userManager.GetUserAsync(User);

                    user.Naam     = model.Naam;
                    user.Voornaam = model.Voornaam;
                    await _userManager.UpdateAsync(user);

                    TempData["message"] = "Uw profiel is succesvol aangepast.";
                    return(RedirectToAction(nameof(WachtwoordAanpassen)));
                }
                catch
                {
                    TempData["error"] = "Iets is misgelopen, uw profiel is niet aangepast.";
                }
            }
            return(RedirectToAction(nameof(ProfielAanpassenDoorgaanMetOpslaanNietMogelijk), model));
        }
示例#4
0
        public IActionResult NieuweAnalyse(Jobcoach jobcoach)
        {
            try
            {
                Analyse analyse = new Analyse();

                _analyseRepository.Add(analyse);
                _analyseRepository.Save();

                if (jobcoach != null)
                {
                    jobcoach = _jobcoachRepository.GetById(jobcoach.PersoonId);
                    jobcoach.Analyses.Add(analyse);
                    _jobcoachRepository.Save();

                    if (HttpContext != null)
                    {// nodig voor testen, HttpContext kan je niet mocken
                        AnalyseFilter.SetAnalyseInSession(HttpContext, analyse);
                    }

                    return(RedirectToAction("SelecteerWerkgever", "Werkgever"));
                }
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Analyse", "NieuweAnalyse"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Er ging iets fout tijdens het starten van een nieuwe analyse, probeer later opnieuw";
            }

            return(RedirectToAction("Index", "Kairos"));
        }
示例#5
0
        public IActionResult OpenAnalyse(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);

                    if (HttpContext != null)
                    {
                        // nodig voor testen, HttpContext kan je niet mocken
                        // analyse instellen in Session
                        AnalyseFilter.SetAnalyseInSession(HttpContext, analyse);
                    }

                    return(RedirectToAction("Index", "Resultaat"));
                }
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Analyse", "OpenAnalyse"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Er ging iets fout tijdens het ophalen van de analyse, probeer later opnieuw";
            }

            return(RedirectToAction("Index", "Kairos"));
        }
        public IActionResult SelecteerBestaandeWerkgever(Jobcoach jobcoach, Analyse analyse, int id, int werkgeverid)
        { // id is het id van het departement dat geselecteerd werd
            try
            {
                List <Departement> departementenVanJobcoach = _jobcoachRepository.GetDepartementenVanJobcoach(jobcoach);
                Departement        departement = departementenVanJobcoach.SingleOrDefault(d => d.DepartementId == id);
                analyse = _analyseRepository.GetByIdAll(analyse.AnalyseId);
                if (departement == null)
                {
                    TempData["error"] = "U heeft geen toegang tot dit departement, kies enkel degene die u hieronder ziet.";
                    return(RedirectToAction("BestaandeWerkgever", "", null));
                }

                analyse.Departement = departement;

                _analyseRepository.Save();

                if (HttpContext != null)
                {
                    AnalyseFilter.SetAnalyseInSession(HttpContext, analyse);
                }

                return(RedirectToAction("Index", "ContactPersoon"));
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Werkgever", "BestaandeWerkgever -- POST --"));
                _exceptionLogRepository.Save();
                TempData["Error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
            }

            return(RedirectToAction("BestaandeWerkgever", "", null));
        }
示例#7
0
        public async Task <IActionResult> ContacteerAdmin(ContacteerAdminViewModel model)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            if (ModelState.IsValid)
            {
                try
                {
                    JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name);
                    await MailVerzender.ContacteerAdmin(jc.Naam + " " + jc.Voornaam, jc.Email, model.Onderwerp, model.Inhoud);

                    Admin     admin = _adminRepository.GetByEmail("*****@*****.**");
                    AdminMail mail  = new AdminMail(jc, admin, model.Onderwerp, model.Inhoud, DateTime.Now);
                    _adminMailRepository.Add(mail);
                    _adminMailRepository.SaveChanges();
                    TempData["message"] = "Uw bericht werd succesvol naar de admin verstuurd.";
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }
            TempData["error"] = "Iets is misgelopen, uw bericht werd niet naar de admin verstuurd.";
            return(View(model));
        }
示例#8
0
 public IActionResult ProfielAanpassenDoorgaanZonderOpslaan(ProfielAanpassenViewModel model)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     if (ControleerOfModelVerandertIs(model))
     {
         return(View(model));
     }
     return(RedirectToAction(nameof(WachtwoordAanpassen)));
 }
示例#9
0
        public IActionResult VerwijderMail(int id)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            InterneMailJobcoach mail = _interneMailJobcoachRepository.GetById(User.Identity.Name, id);

            if (mail == null)
            {
                return(RedirectToAction(nameof(OverzichtMailbox)));
            }
            ViewData["mail"] = mail.InterneMail.Afzender.Voornaam + " " + mail.InterneMail.Afzender.Naam + " met onderwerp " + mail.InterneMail.Onderwerp;
            return(View());
        }
示例#10
0
        public IActionResult Delete(int id)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            Analyse analyse = _analyseRepository.GetById(User.Identity.Name, id);

            if (analyse == null)
            {
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["analyse"] = analyse.Departement.Werkgever.Naam + " - " + analyse.Departement.Naam;
            return(View());
        }
示例#11
0
        public IActionResult Index()
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            IEnumerable <Analyse> analyses = _analyseRepository.GetAllNietGearchiveerd(User.Identity.Name);
            Resultaat             r        = new Resultaat(_doelgroepRepository.GetAll());

            foreach (Analyse a in analyses)
            {
                r.BerekenResultaatVanAnalyse(a);
            }
            return(View(new TeTonenAnalysesViewModel(analyses)));
        }
示例#12
0
        public IActionResult OverzichtMailbox()
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            IEnumerable <InterneMailJobcoach> mails = _interneMailJobcoachRepository.GetAll(User.Identity.Name);
            JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name);

            foreach (InterneMailJobcoach m in mails)
            {
                m.Jobcoach = jc;
            }
            return(View(new OverzichtMailboxViewModel(mails)
            {
                WilAnimaties = jc.WilAnimaties
            }));
        }
示例#13
0
 public IActionResult DeleteConfirm(int id)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     try
     {
         Analyse analyse = _analyseRepository.GetById(User.Identity.Name, id);
         TempData["message"] = "De analyse voor " + analyse.Departement.Werkgever.Naam + " - " + analyse.Departement.Naam + " is succesvol verwijderd.";
         _analyseRepository.Delete(analyse);
         _analyseRepository.SaveChanges();
     }
     catch
     {
         TempData["error"] = "Iets is misgelopen, de analyse is niet verwijderd.";
     }
     return(RedirectToAction(nameof(Index)));
 }
示例#14
0
        public IActionResult MarkeerGeselecteerdeAlsGelezen()
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            IEnumerable <InterneMailJobcoach> mails = _interneMailJobcoachRepository.GetAll(User.Identity.Name);

            foreach (InterneMailJobcoach m in mails)
            {
                string id    = "checkbox" + m.InterneMailId;
                string check = Request.Form[id];
                if (check != null && check.Equals("on"))
                {
                    _interneMailJobcoachRepository.GetById(User.Identity.Name, m.InterneMailId).IsGelezen = true;
                    _interneMailJobcoachRepository.SaveChanges();
                }
            }
            return(RedirectToAction(nameof(OverzichtMailbox)));
        }
示例#15
0
 public IActionResult BevestigVerwijderMail(int id)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     try
     {
         InterneMailJobcoach mail = _interneMailJobcoachRepository.GetById(User.Identity.Name, id);
         _interneMailJobcoachRepository.Delete(mail);
         _interneMailJobcoachRepository.SaveChanges();
         TempData["message"] = "De mail van " + mail.InterneMail.Afzender.Voornaam + " " + mail.InterneMail.Afzender.Naam + " met onderwerp " +
                               mail.InterneMail.Onderwerp + " werd succesvol verwijderd";
     }
     catch
     {
         TempData["error"] = "Iets is misgelopen, de mail werd niet verwijderd.";
     }
     return(RedirectToAction(nameof(OverzichtMailbox)));
 }
示例#16
0
        public async Task <IActionResult> Index()
        {
            try
            {
                if (HttpContext != null)
                {
                    AnalyseFilter.ClearSession(HttpContext);
                }

                ApplicationUser user = await _userManager.GetUserAsync(User);

                if (user == null)
                {
                    TempData["error"] = "Gelieve je eerst aan te melden alvorens deze pagina te bezoeken.";
                    await _signInManager.SignOutAsync();

                    return(RedirectToAction("Login", "Account"));
                }

                IndexViewModel model = new IndexViewModel
                {
                    BeginIndex = 0,
                    EindIndex  = MAX_AANTAL_ANALYSES
                };
                IEnumerable <Datum> datumTypes = Enum.GetValues(typeof(Datum))
                                                 .Cast <Datum>();

                model.listItems = from date in datumTypes
                                  select new SelectListItem
                {
                    Text  = ((int)date) > 1 ? ((int)date).ToString() + " maanden" : ((int)date).ToString() + " maand",
                    Value = ((int)date).ToString()
                };


                return(View("Index", model));
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Kairos", "Index"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Je analyses konder niet geladen worden, probeer later opnieuw";
            }

            return(View("Index", new IndexViewModel()));
        }
示例#17
0
        public IActionResult MarkeerAlleAlsGelezen()
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            IEnumerable <InterneMailJobcoach> mails = _interneMailJobcoachRepository.GetAll(User.Identity.Name);

            if (mails == null)
            {
                TempData["error"] = "Er is iets misgelopen, de mails werden niet als gelezen gemarkeerd";
                return(RedirectToAction(nameof(Index)));
            }
            foreach (InterneMailJobcoach m in mails)
            {
                _interneMailJobcoachRepository.GetById(User.Identity.Name, m.InterneMailId).IsGelezen = true;
                _interneMailJobcoachRepository.SaveChanges();
            }
            TempData["message"] = "De geselecteerde mails zijn succesvol als gelezen gemarkeerd";
            return(RedirectToAction(nameof(OverzichtMailbox)));
        }
示例#18
0
        public IActionResult BevestigBevestigVerwijderGeselecteerde()
        {
            AnalyseFilter.HaalAnalyseUitSessie(HttpContext);
            ICollection <InterneMailJobcoach> mails = JsonConvert.DeserializeObject <ICollection <InterneMailJobcoach> >(HttpContext.Session.GetString("mails"));

            if (mails == null)
            {
                TempData["error"] = "Er is iets misgelopen, de mails werden niet verwijderd";
                return(RedirectToAction(nameof(Index)));
            }
            foreach (InterneMailJobcoach m in mails)
            {
                _interneMailJobcoachRepository.Delete(_interneMailJobcoachRepository.GetById(User.Identity.Name, m.InterneMailId));
                _interneMailJobcoachRepository.SaveChanges();
            }
            TempData["message"] = "De geselecteerde mails zijn succesvol verwijderd";
            return(RedirectToAction(nameof(OverzichtMailbox)));
        }
示例#19
0
        public IActionResult VerwijderGeselecteerde()
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            IEnumerable <InterneMailJobcoach> mails = _interneMailJobcoachRepository.GetAll(User.Identity.Name);
            ICollection <InterneMailJobcoach> geselecteerdeMails = new List <InterneMailJobcoach>();

            foreach (InterneMailJobcoach m in mails)
            {
                string id    = "checkbox" + m.InterneMailId;
                string check = Request.Form[id];
                if (check != null && check.Equals("on"))
                {
                    geselecteerdeMails.Add(m);
                }
            }
            HttpContext.Session.SetString("mails", JsonConvert.SerializeObject(geselecteerdeMails));

            return(RedirectToAction(nameof(BevestigVerwijderGeselecteerde)));
        }
示例#20
0
        public IActionResult ProfielAanpassen()
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name);
            ProfielAanpassenViewModel model = new ProfielAanpassenViewModel()
            {
                Bus         = jc.BusBedrijf,
                Email       = jc.Email,
                Gemeente    = jc.GemeenteBedrijf,
                Naam        = jc.Naam,
                NaamBedrijf = jc.NaamBedrijf,
                Nummer      = jc.NummerBedrijf,
                Postcode    = jc.PostcodeBedrijf,
                Straat      = jc.StraatBedrijf,
                Voornaam    = jc.Voornaam
            };

            return(View(model));
        }
示例#21
0
        public async Task <IActionResult> WachtwoordAanpassen(WachtwoordAanpassenViewModel model)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            if (ModelState.IsValid)
            {
                try
                {
                    ApplicationUser user = await _userManager.GetUserAsync(User);

                    bool check = await _userManager.CheckPasswordAsync(user, model.OldPassword);

                    if (!check)
                    {
                        ModelState.AddModelError("OldPassword", "Incorrect wachtwoord");
                    }
                    else
                    {
                        var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                        var result = await _userManager.ResetPasswordAsync(user, token, model.Password);

                        if (result.Succeeded)
                        {
                            JobCoach jc = _jobCoachRepository.GetByEmail(user.Email);

                            jc.MoetWachtwoordVeranderen = false;
                            _jobCoachRepository.SaveChanges();
                            TempData["message"] = "Uw wachtwoord is succesvol aangepast.";
                            return(RedirectToAction(nameof(ProfielAanpassen)));
                        }
                        ModelState.AddModelError("", "Onze excuses, er is iets verkeerd gelopen.");
                    }
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }
            TempData["error"] = "Uw wachtwoord is niet aangepast.";
            return(View(new WachtwoordAanpassenViewModel()));
        }
示例#22
0
 public IActionResult BeantwoordMail(OverzichtMailboxViewModel model)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     if (ModelState.IsValid)
     {
         try
         {
             JobCoach  jc    = _jobCoachRepository.GetByEmail(User.Identity.Name);
             Admin     admin = _adminRepository.GetByEmail(model.Ontvanger);
             AdminMail mail  = new AdminMail(jc, admin, model.Onderwerp, model.Inhoud, DateTime.Now);
             _adminMailRepository.Add(mail);
             _adminMailRepository.SaveChanges();
             TempData["message"] = "Uw antwoord werd succesvol verzonden";
             return(RedirectToAction(nameof(OverzichtMailbox)));
         }
         catch (Exception e)
         {
             ModelState.AddModelError("", e.Message);
         }
     }
     TempData["error"] = "Er is iets misgelopen, uw antwoord werd niet verzonden";
     return(View(nameof(OverzichtMailbox)));
 }
示例#23
0
        public IActionResult GeselecteerdeMail(int id)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            try
            {
                JobCoach            jc   = _jobCoachRepository.GetByEmail(User.Identity.Name);
                InterneMailJobcoach mail = _interneMailJobcoachRepository.GetById(User.Identity.Name, id);
                mail.IsGelezen = true;
                _interneMailJobcoachRepository.SaveChanges();
                mail.Jobcoach = jc;
                IEnumerable <InterneMailJobcoach> mails = _interneMailJobcoachRepository.GetAll(User.Identity.Name);
                foreach (InterneMailJobcoach m in mails)
                {
                    m.Jobcoach = jc;
                }
                OverzichtMailboxViewModel model = new OverzichtMailboxViewModel(mails);
                model.GeopendeMail   = new MailViewModel(mail);
                model.GeopendeMailId = mail.InterneMailId;
                model.WilAnimaties   = jc.WilAnimaties;
                return(View(nameof(OverzichtMailbox), model));
            }
            catch
            {
            }
            IEnumerable <InterneMailJobcoach> mijnMails = _interneMailJobcoachRepository.GetAll(User.Identity.Name);
            JobCoach j = _jobCoachRepository.GetByEmail(User.Identity.Name);

            foreach (InterneMailJobcoach m in mijnMails)
            {
                m.Jobcoach = j;
            }
            return(View(nameof(OverzichtMailbox), new OverzichtMailboxViewModel(mijnMails)
            {
                WilAnimaties = j.WilAnimaties
            }));
        }
示例#24
0
 public IActionResult ProfielAanpassenKeerTerug(ProfielAanpassenViewModel model)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(View("ProfielAanpassen", model));
 }
示例#25
0
 public IActionResult ProfielAanpassenDoorgaanMetOpslaanNietMogelijk(ProfielAanpassenViewModel model)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(View(model));
 }
示例#26
0
 public IActionResult DoorgaanZonderOpslaan()
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(RedirectToAction(nameof(WachtwoordAanpassen)));
 }
示例#27
0
 public IActionResult WachtwoordAanpassen()
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(View(new WachtwoordAanpassenViewModel()));
 }
示例#28
0
 public IActionResult ContacteerAdmin()
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(View(new ContacteerAdminViewModel()));
 }