public async Task <IActionResult> Edit(Guid id, AdminEditVm editVm) { if (id != editVm.Id) { return(NotFound()); } if (ModelState.IsValid) { try { Klant updateKlant = new Klant { KlantId = editVm.Klant.KlantId, Achternaam = editVm.Klant.Achternaam, Voornaam = editVm.Klant.Voornaam, Emailadres = editVm.Klant.Emailadres, Telefoonnummer = editVm.Klant.Telefoonnummer, Afspraken = editVm.Klant.Afspraken, }; _context.Update(updateKlant); Afspraak updateAfspraak = new Afspraak { AfspraakId = editVm.Id, BehandelingGegevens = editVm.Behandeling, KlantGegevens = editVm.Klant, KlantGegevensId = editVm.Klant.KlantId, Datum = editVm.Date.ToShortDateString(), Tijdstip = editVm.Time.ToShortTimeString(), Opmerking = editVm.Opmerkingen, }; _context.Update(updateAfspraak); Behandeling updateBehandeling = new Behandeling(); updateBehandeling.Geslacht = editVm.Behandeling.Geslacht; updateBehandeling.GekozenBehandeling = editVm.Behandeling.GekozenBehandeling; var StartDateTime = DateTime.Parse(updateAfspraak.Datum + " " + updateAfspraak.Tijdstip); DateTime EndDateTime; if (updateBehandeling.Geslacht == "Dames") { EndDateTime = StartDateTime.Add(BehandelingenDames.Single(b => b.Behandeling == updateBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; updateBehandeling.DuurTijd = Duur; updateBehandeling.Duur = Duur.ToString(); } else if (updateBehandeling.Geslacht == "Heren") { EndDateTime = StartDateTime.Add(BehandelingenHeren.Single(b => b.Behandeling == updateBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; updateBehandeling.DuurTijd = Duur; updateBehandeling.Duur = Duur.ToString(); } else if (updateBehandeling.Geslacht == "Kinderen") { EndDateTime = StartDateTime.Add(BehandelingenKinderen.Single(b => b.Behandeling == updateBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; updateBehandeling.DuurTijd = Duur; updateBehandeling.Duur = Duur.ToString(); } editVm.Tijdsduur = updateAfspraak.BehandelingGegevens.Duur; editVm.Behandeling.Duur = updateBehandeling.Duur; editVm.Tijdsduur = updateBehandeling.Duur; TempData[Constants.SuccessMessage] = $"De afspraak voor {updateKlant.Achternaam} {updateKlant.Voornaam} werd succesvol gewijzigd."; await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AfspraakExists(editVm.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(editVm)); }
// GET: Admin/Edit/5 public async Task <IActionResult> Edit(Guid?id) { if (id == null) { return(NotFound()); } var afspraak = await _context.Afspraken.FindAsync(id); var klant = await _context.Klanten.ToListAsync(); var behandeling = await _context.Behandelingen.ToListAsync(); if (afspraak == null) { return(NotFound()); } var nieuweBehandeling = new Behandeling(); nieuweBehandeling.Geslacht = afspraak.BehandelingGegevens.Geslacht; nieuweBehandeling.GekozenBehandeling = afspraak.BehandelingGegevens.GekozenBehandeling; var StartDateTime = Convert.ToDateTime(afspraak.Datum + " " + afspraak.Tijdstip); DateTime EndDateTime; if (nieuweBehandeling.Geslacht == "Dames") { EndDateTime = StartDateTime.Add(BehandelingenDames.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } else if (nieuweBehandeling.Geslacht == "Heren") { EndDateTime = StartDateTime.Add(BehandelingenHeren.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } else if (nieuweBehandeling.Geslacht == "Kinderen") { EndDateTime = StartDateTime.Add(BehandelingenKinderen.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } var viewModel = new AdminEditVm { Id = afspraak.AfspraakId, Klant = afspraak.KlantGegevens, Behandeling = afspraak.BehandelingGegevens, Datum = afspraak.Datum, Date = DateTime.Parse(afspraak.Datum), Tijdstip = afspraak.Tijdstip, Time = DateTime.Parse(afspraak.Tijdstip), Opmerkingen = afspraak.Opmerking }; viewModel.Behandeling.Duur = nieuweBehandeling.Duur; viewModel.Tijdsduur = nieuweBehandeling.Duur; return(View(viewModel)); }