예제 #1
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));
        }
예제 #2
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));
        }
예제 #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 ProfielAanpassenDoorgaanZonderOpslaan(ProfielAanpassenViewModel model)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     if (ControleerOfModelVerandertIs(model))
     {
         return(View(model));
     }
     return(RedirectToAction(nameof(WachtwoordAanpassen)));
 }
예제 #5
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)));
        }
예제 #6
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());
        }
예제 #7
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());
        }
예제 #8
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
            }));
        }
예제 #9
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)));
 }
예제 #10
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)));
        }
예제 #11
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)));
 }
예제 #12
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)));
        }
예제 #13
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));
        }
예제 #14
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)));
        }
예제 #15
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()));
        }
예제 #16
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)));
 }
예제 #17
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
            }));
        }
예제 #18
0
 public IActionResult ProfielAanpassenDoorgaanMetOpslaanNietMogelijk(ProfielAanpassenViewModel model)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(View(model));
 }
예제 #19
0
 public IActionResult DoorgaanZonderOpslaan()
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(RedirectToAction(nameof(WachtwoordAanpassen)));
 }
예제 #20
0
 public IActionResult ProfielAanpassenKeerTerug(ProfielAanpassenViewModel model)
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(View("ProfielAanpassen", model));
 }
예제 #21
0
 public IActionResult ContacteerAdmin()
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(View(new ContacteerAdminViewModel()));
 }
예제 #22
0
 public IActionResult WachtwoordAanpassen()
 {
     AnalyseFilter.ZetSessieLeeg(HttpContext);
     return(View(new WachtwoordAanpassenViewModel()));
 }