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)); }
//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)); }
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)); }
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)); }
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)); }
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)); }