예제 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Actie,time,Voornaam,Achternaam,AanvraagId")] AanvraagGeschiedenis aanvraagGeschiedenis)
        {
            if (id != aanvraagGeschiedenis.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(aanvraagGeschiedenis);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AanvraagGeschiedenisExists(aanvraagGeschiedenis.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AanvraagId"] = new SelectList(_context.Aanvragen, "Id", "Omschrijving", aanvraagGeschiedenis.AanvraagId);
            return(View(aanvraagGeschiedenis));
        }
예제 #2
0
        //post
        public async Task <IActionResult> AddBericht(Bericht bericht)
        {
            var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var user   = await _userManager.FindByIdAsync(userId);



            bericht.applicationuserId = userId;
            int aanvraagId = bericht.AanvraagId;
            var aanvraag   = _context.Aanvragen.Where(x => x.Id == aanvraagId).Include(a => a.ApplicationUser).SingleOrDefault();
            var status     = await _context.Statussen.Where(s => s.Id.Equals(aanvraag.StatusId)).FirstOrDefaultAsync();

            var behandelaar = _context.Users.Where(x => x.Id == bericht.applicationuserId).SingleOrDefault();

            if (ModelState.IsValid)
            {
                var aanmaak = new AanvraagGeschiedenis
                {
                    AanvraagId = aanvraag.Id,
                    Aanvraag   = aanvraag,
                    Actie      = "Bericht toegevoegd aan de aanvraag : " + bericht.Inhoud,
                    time       = DateTime.Now,
                    Voornaam   = user.Voornaam,
                    Achternaam = user.Achternaam,
                    Status     = status.Naam
                };
                _context.AanvraagGeschiedenis.Add(aanmaak);
                _context.Add(bericht);
                await _context.SaveChangesAsync();



                // dat user van aanvraag zelf bericht plaatst
                if (bericht.applicationuser.Email == aanvraag.ApplicationUser.Email)
                {
                    //mail naar user dat bericht geplaatst is
                    await _emailSender.SendEmailAsync(user.Email, "Bericht voor aanvraag: " + aanvraag.Titel, $"Je bericht: " + bericht.Inhoud + " is succesvol geplaatst, de behandelaars zullen je zo spoedig mogelijk helpen.");

                    //moet nog komen, mail naar behandelaar dat user bericht heeft geplaatst
                }
                //dat gebruiker bericht plaatst
                else if (bericht.applicationuser.Email != aanvraag.ApplicationUser.Email)
                {
                    //mail naar user als behandelaar bericht plaatst
                    await _emailSender.SendEmailAsync(aanvraag.ApplicationUser.Email, "Nieuw bericht voor aanvraag: " + aanvraag.Titel, $"De behandelaar: " + behandelaar.Voornaam + " " + behandelaar.Achternaam + " heeft het bericht met inhoud: " + bericht.Inhoud + " geplaatst, meer info vindt je terug in de details van je aanvraag.");

                    //mail naar behandelaar dat bericht goed geplaatst is
                    await _emailSender.SendEmailAsync(user.Email, "Bericht voor aanvraag: " + aanvraag.Titel, $"Je bericht: " + bericht.Inhoud + " is succesvol geplaatst.");
                }
                return(RedirectToAction("Details", "Aanvraags", new { id = aanvraagId }));
            }

            return(await AanvraagberichtenViewmodel(bericht.AanvraagId));
        }
예제 #3
0
        public async Task <IActionResult> Create([Bind("Id,Actie,time,Voornaam,Achternaam,AanvraagId")] AanvraagGeschiedenis aanvraagGeschiedenis)
        {
            if (ModelState.IsValid)
            {
                _context.Add(aanvraagGeschiedenis);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AanvraagId"] = new SelectList(_context.Aanvragen, "Id", "Omschrijving", aanvraagGeschiedenis.AanvraagId);
            return(View(aanvraagGeschiedenis));
        }
예제 #4
0
        public async Task <IActionResult> Create(Aanvraag aanvraag)
        {
            var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var user   = await _userManager.FindByIdAsync(userId);

            var status = await _context.Statussen.Where(s => s.Id.Equals(aanvraag.StatusId)).FirstOrDefaultAsync();


            if (ModelState.IsValid)
            {
                var aanmaak = new AanvraagGeschiedenis
                {
                    AanvraagId = aanvraag.Id,
                    Aanvraag   = aanvraag,
                    Actie      = "Aanmaak van de aanvraag",
                    time       = DateTime.Now,
                    Voornaam   = user.Voornaam,
                    Achternaam = user.Achternaam,
                    Status     = status.Naam
                };

                _context.AanvraagGeschiedenis.Add(aanmaak);
                _context.Add(aanvraag);
                await _context.SaveChangesAsync();

                await _emailSender.SendEmailAsync(user.Email, "Aanmaak Gelukt", $"Het aanmaken van de aanvraag:  " + aanvraag.Titel + " is gelukt.");


                if (IsIndex)
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else if (IsIndexallaanvragen)
                {
                    return(RedirectToAction(nameof(IndexAllAanvragen)));
                }
                else if (IsIndexToegewezen)
                {
                    return(RedirectToAction(nameof(IndexToegewezen)));
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"]   = new SelectList(_context.Users, "Id", "Id", aanvraag.UserId);
            ViewData["StatusId"] = new SelectList(_context.Statussen, "Id", "Id", aanvraag.StatusId);
            return(View(aanvraag));
        }
예제 #5
0
        public async Task <IActionResult> Edit(int id, Aanvraag aanvraag, bool index, bool isAlles, bool isToegezen)
        {
            var user = await _userManager.FindByIdAsync(aanvraag.UserId);

            //lijstvanbehandelaarsvanaanvraag
            var lijstbehandelaarsAanvraag = await _context.AanvraagBehandelaars.Include(x => x.Behandelaar).ToListAsync();

            // var result = _context.AanvraagBehandelaars.Where(x => x.Behandelaar);

            //ingelogde user
            var userId        = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var ingelogdeUser = await _userManager.FindByIdAsync(userId);

            //load related data
            var status = await _context.Statussen.Where(s => s.Id.Equals(aanvraag.StatusId)).FirstOrDefaultAsync();


            if (id != aanvraag.Id)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                try
                {
                    //aanmaak van history data
                    var aanmaak = new AanvraagGeschiedenis
                    {
                        AanvraagId = aanvraag.Id,
                        Aanvraag   = aanvraag,
                        Actie      = "Aanpassen van details van de aanvraag",
                        time       = DateTime.Now,
                        Voornaam   = ingelogdeUser.Voornaam,
                        Achternaam = ingelogdeUser.Achternaam,
                        Status     = status.Naam
                    };

                    //toevoegen van data aan table
                    _context.AanvraagGeschiedenis.Add(aanmaak);
                    //update van table zelf

                    _context.Update(aanvraag);
                    await _context.SaveChangesAsync();

                    await _emailSender.SendEmailAsync(user.Email, "Verandering aan je aanvraag", $"Er is een aanpassing gebeurt aan de aanvraag " + aanvraag.Titel + ",om de veranderingen te bekijken gelieve in te loggen.");

                    //if (aanvraag.AanvraagBehandelaars.Any())
                    //{ }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AanvraagExists(aanvraag.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                if (index)
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else if (isAlles)
                {
                    return(RedirectToAction(nameof(IndexAllAanvragen)));
                }
                else if (isToegezen)
                {
                    return(RedirectToAction(nameof(IndexToegewezen)));
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"]   = new SelectList(_context.Users, "Id", "Id", aanvraag.UserId);
            ViewData["StatusId"] = new SelectList(_context.Statussen, "Id", "Id", aanvraag.StatusId);

            return(View(aanvraag));
        }
예제 #6
0
        public async Task <IActionResult> AddBehandelaar(int id, Aanvraag aanvraag, bool index, bool isAlles, bool isToegezen)
        {
            //om behandelaar te krijgen die aan de tussentabel moet gekoppelt worden
            var behandelaar = await _userManager.FindByIdAsync(aanvraag.BehandelaarId);

            //om email te verkrijgen van de aanvraag gebruiker
            var user = await _userManager.FindByIdAsync(aanvraag.UserId);

            //ingelogde user
            var userId        = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var ingelogdeUser = await _userManager.FindByIdAsync(userId);

            var status = await _context.Statussen.Where(s => s.Id.Equals(aanvraag.StatusId)).FirstOrDefaultAsync();



            var aanvraagbehandelaar = new AanvraagBehandelaar
            {
                AanvraagId    = id,
                Aanvraag      = aanvraag,
                BehandelaarId = aanvraag.BehandelaarId,
                Behandelaar   = behandelaar
            };

            if (id != aanvraag.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var aanmaak = new AanvraagGeschiedenis
                    {
                        AanvraagId = aanvraag.Id,
                        Aanvraag   = aanvraag,
                        Actie      = "Toevoegen van behandelaar " + aanvraagbehandelaar.Behandelaar.Voornaam + " " + aanvraagbehandelaar.Behandelaar.Achternaam,
                        time       = DateTime.Now,
                        Voornaam   = ingelogdeUser.Voornaam,
                        Achternaam = ingelogdeUser.Achternaam,
                        Status     = status.Naam
                    };
                    _context.AanvraagGeschiedenis.Add(aanmaak);


                    await _context.AanvraagBehandelaars.AddAsync(aanvraagbehandelaar);

                    _context.Update(aanvraag);
                    await _context.SaveChangesAsync();

                    await _emailSender.SendEmailAsync(user.Email, "Verandering aan je aanvraag", $"Er is een nieuwe behandelaar aan je aanvraag gehangen. " + aanvraagbehandelaar.Behandelaar.Voornaam + " " + aanvraagbehandelaar.Behandelaar.Achternaam + " zal nu meewerken aan een oplossing voor de aanvraag: " + aanvraag.Titel);

                    await _emailSender.SendEmailAsync(aanvraagbehandelaar.Behandelaar.Email, "Niewe toegewezen aanvraag" + aanmaak.Aanvraag.Titel, $"Je ben toegevoegd aan een de aanvraag " + aanmaak.Aanvraag.Titel + ", log in om meer details te bekijken");
                }
                catch (Exception)
                {
                    throw;
                }
                if (index)
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else if (isAlles)
                {
                    return(RedirectToAction(nameof(IndexAllAanvragen)));
                }
                else if (isToegezen)
                {
                    return(RedirectToAction(nameof(IndexToegewezen)));
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(aanvraag));
        }